package assign;
import java.util.Scanner;
public class tests {
public static void main(String[] args) {
Scanner s = new Scanner (System.in);
System.out.println("How many sous chef do we have?");
int two = s.nextInt();
if(two <= 0) {
do {
System.out.println("Please enter a valid number:");
two = s.nextInt();
}while (two <= 0);
}
String [] souschef = new String[two];
for (int m = 0; m < souschef.length; m++) {
System.out.println("Enter the name of sous chef"+ m + ":");
String f = s.next();
f = souschef [m];
}
for (int i = 0; i < souschef.length; i++) {
System.out.println(souschef[i]);
}
}
}
输入的名称无关紧要,输出全为空。没有填充数组的for循环吗?例如,我输入3个名字:约翰,杰克和鲍勃。 <不要
for (int i = 0; i < souschef.length; i++) {
System.out.print(souschef[i]);
}
循环给我
John Jack Bob
但输出是
null null null
谢谢!
答案 0 :(得分:0)
变化
f = souschef[m];
到
souschef[m] = f;
您希望使用从输入(souchef
)读取的内容填充f
数组,而不是相反。
答案 1 :(得分:0)
只需将您的循环更改为:
for (int m = 0; m < souschef.length; m++) {
System.out.println("Enter the name of sous chef"+ m + ":");
String f = s.next();
souschef [m]=f; //Assign f to String array
}
在您的程序中,您正在使用变量f
中的用户输入,但使用f=souschef [m];