String typed=console.next();
String[] arrayNum = new String[0];
arrayNum=typed;
我该怎么办最后一行?我一直收到错误"无法从String转换为[] String"。我想用从控制台输入的字符填充一个数组。
答案 0 :(得分:1)
我看到你还不了解数组。
typeOfArray [] arrayName = new typeOfArray [numberOfElements];
您可以在此处阅读更多内容:http://www.tutorialspoint.com/java/java_arrays.htm
例如:
String[] arrayString = new String[10];
- 10个具有String类型的元素。int[] arrayInt = new int[2];
- 2个具有整数类型的元素。
等等。还有ArrayList:
http://www.tutorialspoint.com//java/util/java_util_arraylist.htm
基本上,数组列表就像一个数组。默认情况下,它将以10个元素开头,如果继续推送更多数据,则数组列表将自动增加10个。
ArrayList newArray = new ArrayList(1000);
这是一个包含1000个元素的ArrayList的示例。
要推送数据,请使用add() -
newArray.add(“A String”);
要获取数据,请使用get() -
newArray.get(0);
- 0是存储数据的索引号(此结果将返回“A String”)。
更多示例,请阅读上面的链接。
答案 1 :(得分:0)
Java是强类型语言,这意味着一旦将变量声明为特定类型,就只能将其用作定义的类型。 在您的情况下,您定义
String typed = console.next();
变量typed保存console.text()返回的数据,的类型为String ,所以这一行非常好。
接下来定义新变量
String [] arrayNum = new String [0];
变量arrayNum 的类型为String [] ,这是java编译器完全不同的数据类型。 因此,当您尝试在String []中存储String时,会出现错误,每两种不同的数据都会出现这种情况。
一个解决方案,如果您确实需要控制台行作为数组使用
String.toCharArray();
喜欢这个
String typed=console.next();
char[] arrayNum = typed.toCharArray();
String实际上是一个char [](字符数组),但是String类作为这个数组的包装器,并提供了一些非常有用的方法来操作它。
所以现在你的arrayNum变量将你输入的字符保存为符号数组。
我的建议是在这种情况下不使用数组,因为String类在大多数情况下都能正常工作。