2013-11-21 3 views
0

Привет, ребята, я новичок в java. У меня есть домашняя работа, где я объявляю глобальную переменную, но меня изменяет переменная.Как увеличить значение переменной

Программа:

main() 
{ 

    public static final double j =20; 
    public static final double l =5; 

    if (l=5) 
    { 
     for (; j<=50 ; j+=2) 
     { 
      System.out.printf("value of j is %d\n",j); 
     } 

     for (; j>=4; j-=2) // i want here the value j to be 20 ... 
     { 
      System.out.printf("value of decrement is %d\n",j); 
     } 

    } 
} 

его работы, когда я еще раз intialze у = 20 в decreament для цикла ... но я хочу, чтобы начать J от 20

+0

Если это Java, то почему это тегированный JavaScript или C++? Это совершенно разные языки. –

+0

Почему у него есть тег C++? – David

+0

Используйте правильное отступы при размещении здесь, что значительно облегчает его чтение. – Plux

ответ

4

Для начала нет ничего, что называется Глобальная переменная в JAVA. Плюс у вас есть так много ошибок компиляции в коде: Я перечислю некоторые:

  1. возвращение типа main() функция отсутствует.

    void main() { //code here }

  2. статические и общественные модификаторы не для локальных переменных (метод переменных)

    public static final double j =20; // this is wrong inside a method.
    Причина: Внутри переменных методы имеют локальную область видимости. Для переменных метода нет общедоступной/частной области. Так оно и должно быть:

    final double j =20; //final means 'j' behaves as a constant

  3. Вы пытаетесь присвоить 5 к л внутрь, если:

    if (l=5) // он не будет компилироваться, так как первый л будет 5 и внутри, если выражение должно быть булевым. должно быть if(l==5).

  4. for (; j<=50 ; j+=2) не скомпилируется, поскольку j объявляется конечной переменной.

Fix может быть: for (int jNew=0;jNew<=50;jNew++)

Таким образом, общий код может быть:

void main() 
{ 
     final double j =20; 

     final double l =5; 


    if (l==5) 
    { 
    for (int j3=0; j3<=50 ; j3+=2) 
    { 
     System.out.println(j); 

    } 
    for (int j4=0; j4>=4; j4-=2) // i want here the value j to be 20 ... 

    { 
     System.out.println(j); 

    } 


} 
} 

Пройтись основы Java here.

1

Вы можете просто объявить переменную с петля сама

for(j=20; j>=4; j-=2) // i want here the value j to be 20 ... 
{ 
    System.out.printf("value of decrement is %d\n",j); 
} 
0

Не сам вопрос, но пожалуйста, иметь в виду, что в основной метод Java должен быть объявлен как это:

public static void main(String[] args) { ... } 

Причина, которую можно найти здесь: Why is the Java main method static?

0

Причина вы получаете неожиданное значение (52) для J является утверждение j+=2.

На каждой итерации это перезаписывает значение j с добавочным значением.

После нескольких итераций цикла значение j становится равным 52, что приводит к выходу цикла, поскольку условие j<=50 не выполняется.

Таким образом, перед началом второго цикла, то необходимо повторно инициализировать J со значением 20.

Примечание:

Если вы хотите, я & J быть публичным статическим, объявить их вне метода но внутри класса.

Поскольку вам не нужны десятичные числа, используйте int вместо double.

Смежные вопросы