2013-12-04 4 views
2

я инициализируется значением переменного и введенное значение .. NetBeans дает мне ошибки .. может кто-нибудь, пожалуйста, указать на проблеме с моим кодомосновного параметра явы прохождение, вычисление внутри метода

public class JavaApplication1 { 

    /** 
    * @param args the command line arguments 
    */ 
     static Scanner sc = new Scanner(System.in); 
     static double maxLoad = 500; 
     static double currLoad; 
     static double loadInput = 0; 
    public static void main(String[] args) { 

     String cpNumber; 


     System.out.println("Enter Cellphone Number"); 
     cpNumber = sc.nextLine(); 
     System.out.println("Enter load to be bought"); 
     loadInput = sc.nextDouble(); 

     computeLoad(maxLoad, loadInput); 
     System.out.println(currLoad); 
    } 

    public static double computeLoad(double x, double y) { 
     double z = 0; 
     x - y = z; 
    return z; 
    } 
} 

я получил другая ошибка. она продолжает возвращаться 0 ..

+8

'х - у = г;' Назначение справа налево. –

+1

Какая ошибка? –

+0

'x - y = z;' недопустимое присвоение напишите как 'z = x - y;' – Nishant

ответ

2

Есть несколько проблем с кодом:

1) Когда вы назначаете переменную, поставить переменную на левой стороне, а выражение справа

2) В настоящее время, возвращаемое значение computeLoad игнорируется. Даже когда вы исправляете свою функцию для компиляции, она не будет работать, потому что currLoad, который вы напечатаете, будет оставаться инициализированным значением по умолчанию.

У вас есть два варианта, чтобы исправить это:

  • Изменить вызов currLoad = computeLoad(maxLoad, loadInput); или
  • изменить computeLoad к void, и назначить currLoad прямо там.
2

должно быть:

public static double computeLoad(double x, double y) { 
     return x- y; 
    } 
1
x - y = z; 

Это неправильно. Назначение должно быть Слева направо. like: z = x - y;

1

x - y = z; не является действительной инструкцией Java. Оператор присваивания (=) оценивает правый операнд (который может быть любым выражением, вызовом метода, литералом и вскоре) и назначает его левому операнду (который должен быть идентификатором).

z = x - y; будет правильным.

1

Вы не можете сделать это: x - y = z

Поскольку назначение работает справа налево. z = x - y

Ваш код должен быть следующим:

public static double computeLoad(double x, double y) { 
    double z = 0; 
    z = x - y; 
    return z; 
} 
Смежные вопросы