我必须根据n
的数字n
读取用户的字符串,并在n
个不同的变量中存储public static void main(String[] args) {
int b;
String s="";
Scanner in = new Scanner(System.in);
System.out.println("Enter verifying number: ");
b = in.nextInt();
for (int i=0; i<=b; i++) {
System.out.println("Enter a string: ");
s = in.nextLine();
}
个字符串。我一直坚持如何将它们放入不同的字符串中。请帮帮我。
这是我的代码:
b = 5,
因此,如果{{1}}我必须从用户输入5个字符串并将它们存储在5个不同的字符串变量中。我能够从用户那里获取它但不能将它们分配到不同的变量中。你可以帮帮我吗? 感谢。
答案 0 :(得分:6)
如果您确切知道输入的数量,那么使用数组,如果不使用ArrayList
使用数组
String []inpupts = new String[b];
for (int i=0; i< b; i++) {
System.out.println("Enter a string: ");
inputs[i] = in.nextLine();
}
使用ArrayList
List<String> inpupts = new ArrayList<String>();
for (int i=0; i< b; i++) {
System.out.println("Enter a string: ");
inputs.add(in.nextLine());
}
答案 1 :(得分:3)
从您的代码(&lt; = b)我假设您刚开始学习Java。因此,我编辑了您的解决方案并提出以下建议,如果可以的话?
public static void main(String[] args) {
int b;
Scanner in = new Scanner(System.in);
System.out.println("Enter verifying number: ");
b = in.nextInt();
//necessary to do due to Enter key pressed by user
in.nextLine();
String s[] = new String[b];
for (int i=0; i<b; i++) {
System.out.println("Enter a string: ");
s[i] = in.nextLine();
// You can check at the same time if this is what you entered
System.out.println("I have received this sring: "+s[i]+"\n");
}
答案 2 :(得分:2)
创建一个数组并将其存储在如下数组中:
String s[] = new String[b];//use b+1 if you need b+1 entries
for (int i=0; i<b; i++) {//use <=b is you need b+1 entries
System.out.println("Enter a string: ");
s[i] = in.nextLine();
}
然后,您可以按以下方式访问您的值:
for (int i=0; i<b; i++) //use <=b is you need b+1 entries
System.out.println("Entered string was : " + s[i]);
}
答案 3 :(得分:0)
解决方案:
您可以使用类似这样的东西。
您可以将代码更改为:
public static void main(String[] args) {
int b;
String s="";
Scanner in = new Scanner(System.in);
System.out.println("Enter verifying number: ");
b = in.nextInt();
in.nextLine(); // To get a new line
for (int i=0; i<b; i++) {
System.out.println("Enter a string: ");
s = in.nextLine();
}