2013-08-03 2 views
-2
if (args.length == 3) { 
     displayMode = new DisplayMode(Integer.parseInt(args[0]), 
       Integer.parseInt(args[1]), Integer.parseInt(args[2]), 
       DisplayMode.REFRESH_RATE_UNKNOWN); 
    } else { 
     displayMode = new DisplayMode(800, 600, 16, 
       DisplayMode.REFRESH_RATE_UNKNOWN); 
    } 

появляется, как если DisplayMode() принимает в 4-х параметров, (3 целых и (что-то другое))Что именно делает этот сегмент кода?

но что именно args[1]?

Я не понимаю, почему вы должны разбирать его как целое число?

Может кто-нибудь, пожалуйста, объясните мне это?

+0

Это метод 'main'? – Jeffrey

+1

'DisplayMode', вероятно, принимает в своем конструкторе целочисленные значения. 'args' - это массив String, и любое целое число, представленное как String в массиве, должно быть проанализировано перед отправкой его в' DisplayMode' с использованием правильного типа. –

+0

есть, это ..... – Steven

ответ

1

Если это main(String[] args) функции Java, то args[1] является String. Вы должны разобрать args[1] с Integer.parseInt, чтобы получить его целочисленное значение, если оно равно integer.

args[1] - аргумент командной строки, и программа ожидает его существования. Это второй аргумент командной строки, который будет более конкретным.

0

Я прочитал ваш предыдущий вопрос (касающийся размера кадра 600x800 против 800x600), поэтому в этом контексте вам необходимо указать целые числа в качестве параметров для первого и второго аргументов.

В Java основной метод имеет сигнатуру как

The арг содержит все рассуждения, которые передаются в командной строке параметры

так что если вы запустите

java <yourclassname> 200 400 300 

арг [ 0] будет содержать «200» в качестве строки, args [1] будет содержать «400» в виде строки и т. Д.

, чтобы преобразовать эти цифры и передать их вашему классу, вам нужно будет использовать Integer.parseInt

0

Вы можете передать аргументы командной строки программе Java при ее запуске. Следующая программа будет печатать [1, 2, 3] при вызове с java ArgumentTest 1 2 3.

import java.util.Arrays; 

public class ArgumentTest { 
    public static void main(String[] args) { 
     System.out.println(Arrays.toString(args)); 
    } 
} 

Однако, так как аргументы всех String s, вам нужно разобрать их, чтобы получить другие типы данных.