Member 13544183 Ответов: 1

Как я должен передавать параметры, вызывая функцию, имеющую аргументы командной строки


класс а{
статический недействительным решения(){
публичный статический пустота главный(строка[] аргументы){
System.out.println("name"+args[0]);
System.out.println("город"+args[2]);
}
}
класс В{
публичный статический пустота главный(строка[]аргументы){
System.out.println("как я могу позвонить выше класса..? какой тип параметров, которые я должен использовать.?");
A. решить();
}
}

Что я уже пробовал:

я не знаю, что дать параметры... потому что я новый Лернер, можете ли вы сказать, в каком формате я должен дать параметры и как..?

CPallini

Насколько я знаю, вы не можете вложить методы в Java, ваш код для класса А выглядит неправильно.

1 Ответов

Рейтинг:
2

Richard MacCutchan

class A{
    static void solve(){
        public static void main(String[] args){
        System.out.println("name"+args[0]);
        System.out.println("city"+args[2]);
    }
}

Вы должны вызвать вышеприведенную программу с двумя аргументами в командной строке, что-то вроде:
java A argZero Mussoorie

Но для того чтобы правильно использовать аргументы вы должны проверить длину аргумента args массив, так как попытка получить доступ к элементу, который не существует, вызовет исключение.

Попробуйте выполнить следующий код:
int index;
System.out.format("Application arguments:%n");
for (index = 0; index < args.length; index++) {
    System.out.format("\t%s%n", arg[index]);
}

или, возможно,
if (args.length > 0) {
    System.out.format("Application arguments:%n");
        for (String argName : args) {
            System.out.format("\t%s%n", argName);
        }
    System.out.format("%n");
}

с помощью таких команд, как
java A one two three
java A "one two three"

... etc.