2014-02-16 5 views
0

Я пытаюсь сделать программу, которая вычисляет distanace, набирая в два числа. Я создал два объекта a, b и хочу отправить их на расстояние моего метода после того, как я дал им значение, но я получаю сообщение об ошибке = (. Как я могу решить эту проблему? Мой код представлен ниже.Ошибка при попытке поместить объекты в метод

заранее спасибо!

import java.util.*; 

import javax.swing.*; 

public class Hey { 
    public static void main(String args[]) { 

     Locale.setDefault(Locale.US); 
     num a = new num(); 
     num b = new num(); 
     String s1 = JOptionPane 
       .showInputDialog("Koordinateter för den frösta pinkten?"); 
     Scanner sc = new Scanner(s1); 
     a.num1 = sc.nextDouble(); 
     a.num2 = sc.nextDouble(); 

     String s2 = JOptionPane 
       .showInputDialog("Koordinateter för den frösta pinkten?"); 
     sc = new Scanner(s2); 
     b.num1 = sc.nextDouble(); 
     b.num2 = sc.nextDouble(); 

     double d = distance(a, b); 
     JOptionPane.showMessageDialog(null, "Avstpbd: " + d); 

    } 

    public static double distance(num a, num b) { 
     return Math.sqrt((a.num1 - a.num1) * (a.num1 - a.num1) 
       + (b.num1 - b.num1) * (b.num1 - b.num1)); 
    } 

    class num { 
     double num1; 
     double num2; 
    } 
} 
+0

Какая ошибка возникает у вас? и где? пожалуйста, опубликуйте это тоже. – Batty

+0

'num' - это внутренний класс, который означает, что он является« членом »класса« Эй », поэтому вы можете использовать его только через экземпляр своего внешнего класса. Может быть, вы хотите выставить его за пределы класса «Эй»? Другой способ создать экземпляр без экземпляра внешнего класса - сделать его «статическим». – Pshemo

+0

Также, пожалуйста, не называйте свой класс 'num', назовите его' Num'. И «Эй» - это странное название класса, подумайте об этом, пожалуйста, меняйте. – Maroun

ответ

2

num класс внутри Hey класса, так что вам нужно, чтобы вызвать объект класса Num используя Hey object

Reference

Сделайте так:

Hey h=new Hey(); 
num a = h.new num(); 
num b = h.new num(); 
Смежные вопросы