Выведите из целых чисел множество аргументов с выводом: числа 1, 2, 3, 4, 5 - PullRequest
0 голосов
/ 10 августа 2011

Как распечатать набор целых чисел в массиве args. Я намереваюсь получить вывод: числа 1, 2, 3, 4, 5

System.out.println("The numbers are ");
    for(int i=0; i< args.length;i++)
    System.out.print(args[i] + " ";

Компилятор выдаёт мне ошибку «Я не могу разрешить переменную» Когда я разрешаю её с помощью «int b = 0;» , это дает мне одно целое а не целые числа в аргументах

Ответы [ 4 ]

3 голосов
/ 10 августа 2011

Начиная с Java 5, вы также можете полностью пропустить i:

for( String arg : args )
   System.out.print(arg + " ");

Кроме того, я бы хотел использовать фигурные скобки даже для блоков с одним утверждением. Его легче читать и с меньшей вероятностью изменить его поведение, добавив оператор (например, некоторый оператор журнала).

Пример, наивный pow() метод (проверки на простоту пропущены):

Оригинальный код:

int pow(int base, int power) { //assume power to be > 1
 int result = base;

 for( int i = 1; i <= power; i++ ) 
   result *= base;

 return result;
}

Теперь я хотел бы записать результат на каждом шаге:

int pow(int base, int power) { //assume power to be > 1
  int result = base;

  for( int i = 1; i <= power; i++ ) 
    System.out.println( base + " pow( " + i + ") = " + result );
    result *= base;

  return result;
}

Внезапно я получаю неправильный результат для power > 2, поскольку теперь result *= base; выполняется только один раз (теперь он находится вне цикла).

3 голосов
/ 10 августа 2011

Если это ваш настоящий код, вам не хватает конечной скобки в последней строке перед точкой с запятой.

Это работает для меня:

public class tester {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.out.println("The numbers are ");
        for (int i = 0; i < args.length; i++)
            System.out.print(args[i] + " ");
    }

}

Вывод (если в строке cmd указано 1 2 3 4 5):

The numbers are 
1 2 3 4 5
2 голосов
/ 10 августа 2011

Забыли скобки?

System.out.print(args[i] + " ");
1 голос
/ 10 августа 2011

Вы забыли закрыть метод println с помощью );.

Ваша проблема:

System.out.print(args[i] + " ";

Ваше решение:

System.out.print(args[i] + " ");
...