所以我是Java的新手,我认为我做了一些简单的事情就像for循环一样打印出一串字符串或者其他东西, 我的代码最终是这样的:
package package.four;
import java.util.Scanner;
public class arrayrecurse {
public static void main(String[] args) {
Scanner in = new Scanner (System.in);
System.out.println("Please enter 5 words");
String a = in.next();
String b = in.next();
String c = in.next();
String d = in.next();
String e = in.next();
String[] s = {a, b, c, d, e};
for(int i = 0; i< s.length;){
System.out.println(s[i]);
i++;
}
in.close();
}
}
它工作正常,但我的问题是,是否可以通过变量进行for循环循环。 例如,如果我想要这样的东西:
for(words = 5; words > 0;){
String a = in.next();
a++}
每次输入新单词时,它会在哪里更改变量。
是否有可能做类似的事情,或者每次我想从控制台输入新的单词输入时是否需要输入String variable = in.next();
?
答案 0 :(得分:1)
使用ArrayList存储输入变量。
那是:
import java.util.*;
public static void main(String[] args) {
List<String> inputVars = new ArrayList<>();
Scanner sc = new Scanner(System.in);
while (sc.hasNext())
{
inputVars.add(sc.next());
}
for (String s: inputVars)
{
System.out.println(s);
}
}
或者,如果要更改ArrayList的内容:
public static void main(String[] args) {
List<String> inputVars = new ArrayList<>();
Scanner sc = new Scanner(System.in);
while (sc.hasNext())
{
inputVars.add(sc.next());
}
for (int i = 0; i < inputVars.size(); i++)
{
System.out.println(inputVars.get(i));
//Change the variable
inputVars.set(i, "Hello, " + inputVars.get(i));
}
}
答案 1 :(得分:1)
你可以在循环中调用next()
,但如果你想在之后使用它,你需要在循环之外声明变量,同样,在Java中没有++
运算符用于String或数组:
String[] inputs = new String[5];
for (int i = 0; i < inputs.length; ++i)
{
inputs[i] = in.next();
}