我试图创建一个数组,要求用户输入其长度,然后要求用户一次将多个单词输入到数组中。但是我的代码句子.add(s);不会将我的“ S”变量添加到名为句子的ArrayList中。请您看看我的代码以查看我做错了什么。 EDIT 运行时,在输入数组长度后,程序会要求我输入一个单词,但立即 在下面的一行中用两个括号[]打印并在此处停止程序。如果有人知道为什么会这样,我将非常感激!
import java.util.Scanner;
import java.util.ArrayList;
public class UsingWords
{
public static void main(String [] args)
{
Scanner scan = new Scanner(System.in);
System.out.println("Enter an array length ");
int lengthArray = scan.nextInt();
ArrayList<String[]> sentences = new ArrayList<String[]>();
for (int i=0; i <= lengthArray; i++); {
System.out.println("Please enter a word: ");
String s = scan.nextLine();
sentences.add(s);
}
System.out.println(Arrays.toString(sentences));
}
}
答案 0 :(得分:8)
它不起作用,因为您声明了String []的ArrayList并尝试向其中添加一个String。
I.E。 if (attribute_value == '') { // means validation fail
valid = false ;
flashMessage(to_attribute)
}
if (valid) this.submit();
应该是sentences
类型的。
答案 1 :(得分:0)
我不知道您为什么将数组与ArrayList
结合使用。
我怀疑您想要这样的东西:
//remove the "[]" here
ArrayList<String> sentences = new ArrayList<String>();
for (int i=0; i <= lengthArray; i++); {
System.out.println("Please enter a word: ");
String s = scan.nextLine();
sentences.add(s);
}
//..and the Arrays.toString here
System.out.println(sentences);