显示String [] args中的值

时间:2013-11-14 14:33:53

标签: java methods main

我已经开始学习JAVA并且我学会了主要的方法

public static void main (String [] chpt)
经常由编码人员写的ARGS也可以写成你想要的任何单词。我的声明中的ARGS或CHPT应该是一个数组。如何查看此数组的内容? 我试过了

System.out.println(Arrays.deepToString(chpt)); and
System.out.println(Arrays.toString(chpt));

这是整个计划

public class Dislpy{    
static int square(int num) {
    // TODO Auto-generated method stub
    return num *num;

}
public static void main(String[] chpt) {
    // TODO Auto-generated method stub
    int num = 12;

    int counter = chpt.toString().length();
    System.out.println("Squared is " +square(num) +" " +counter);
    System.out.println(Arrays.deepToString(chpt));
     for (int i = 0; i<= counter; i++){
        System.out.println("over here "+chpt.toString().indexOf(i));
    }
   }
}

但它没有用,输出是

Squared is 144 27
[]
Over here -1.................this line was printed 27 times.

27岁是什么? 27这里有什么意义?正如@peeskillet在他的回答中提到的,没有任何参数通过命令行传递,因此它不会显示任何参数。

我想访问chpt数组的内容。帮助我更好地理解这一点。谢谢,干杯!

Eclipse中显示的输出 designmonks

6 个答案:

答案 0 :(得分:2)

for (String argument : chpt) {
    System.out.println(argument);
}

答案 1 :(得分:2)

更新回答

这有效:

public static void main(String[] chpt) {
    int counter = Integer.parseInt(chpt[0]);
    for (int i = 0; i <= counter; i++) {
        System.out.println("over here " + square(i));
    }
}

over here 0
over here 1
over here 4
over here 9

数组长度

代码中的魔法27是字符串长度,而不是数组大小:

chpt.toString().length() == 27
"[Ljava.lang.String;@5dcba031".length() == 27

正确的方法是

System.out.println(chpt.size());

打印阵列

对于数组,它是:

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

args是原始类型String[]

System.out.println(Arrays.toString(args)); 

并打印结果如下:

[Ljava.lang.String;@5dcba031

但转换为列表后“

System.out.println(Arrays.toString(args));

很好地打印所有元素

答案 2 :(得分:1)

运行此测试

文件TestClass.java

public class TestClass {
    public static void main(String[] args){
        if (args.length == 0){
            System.out.println("You need at least one arg dummy!");
            System.exit(0);
        } else {
            for (String s : args){
                System.out.println(s);
            }
        }
    }
}
  

将文件另存为TestClass.java
  转到命令行并转到java文件的目录并键入:
   javac TestClass.java
  然后输入:
   java TestClass "Hello, world!" "Hello, Dummy!" "Where are my Dragons?!"

看看你得到了什么。

传递给命令行的每个参数都用空格分隔。如果我把引号留下来,那么将有8个参数而不是3个。

答案 3 :(得分:0)

试试这个

for(String s : chpt){
   System.out.println(s);
}

这不仅适用于String [] args。对于所有Iterable ..

答案 4 :(得分:0)

String [] chpt// would print out [] as it contains no values nor are values added to it.

答案 5 :(得分:-1)

你想要一个方法来打印String数组的每个索引,即

public static void printStringArray(String[] myArray){
    for(int i = 0; i < myArray.length; i++){
        System.out.println(myArray[i]);
    }
}