Java 我怎样才能让它运行?
好像我什么都试过了,但什么都没用。我如何才能获得此信息,以便用户可以决定是否添加其他名称?我可以在没有用户决定的情况下运行for循环Java 我怎样才能让它运行?,java,arrays,loops,while-loop,stringbuilder,Java,Arrays,Loops,While Loop,Stringbuilder,好像我什么都试过了,但什么都没用。我如何才能获得此信息,以便用户可以决定是否添加其他名称?我可以在没有用户决定的情况下运行for循环 import java.util.Scanner; 导入java.text.DecimalFormat; 公共课第2部分{ 公共静态void main(字符串[]args){ 扫描仪s=新的扫描仪(System.in); 最终int学生人数=50; char choice1='n'; int i=0; int标准长度=0; 布尔选择=真; 字符串[]stdntNa
import java.util.Scanner;
导入java.text.DecimalFormat;
公共课第2部分{
公共静态void main(字符串[]args){
扫描仪s=新的扫描仪(System.in);
最终int学生人数=50;
char choice1='n';
int i=0;
int标准长度=0;
布尔选择=真;
字符串[]stdntName=新字符串[学生大小];
String[]WIDNUM=新字符串[STUDENT_SIZE];
int[]EXM1=新int[学生大小];
int[]EXM2=新int[学生大小];
int[]EXM3=新int[学生人数];
int[]finalExm=新int[学生人数];
做{
对于(i=0;i
do while
循环似乎是多余的,可能会被删除
在输入第i个学生的数据时,最好检查输入的y
,如果输入了y
以外的任何字符,最好将其打断
更新需要解决的其他问题:
str
的长度;将姓氏移到开头(而不仅仅是第二个名字)选项1
时,请使用nextLine()
而不是next()
——因为\n
未被使用,而使用nextLine
读取的下一个名称将是一个空行for(i=0;i1){
StringBuilder sb=新的StringBuilder();
sb.append(str[str.length-1]);//将姓氏移到开头
某人加上(“,”);
对于(intj=0;j0){
某人附加(“”);
}
sb.append(str[j]);
}
stdntName[i]=sb.toString();
}
System.out.println(stdntName[i]);
System.out.print(“是否要输入另一个?(y/n):”;
choice1=s.nextLine().toLowerCase().charAt(0);//读取整行
如果(选项1!=“y”){
打破
}
}
提示:只要询问用户是否希望在for
循环结束时停止或继续,对for
循环没有丝毫影响:无论发生什么情况,它都会继续运行。而do/while
循环围绕着for
循环,因此在for
循环完成之前,它没有任何控制。出于某种原因,它仍然给我相同的错误消息错误消息和堆栈跟踪是什么?请编辑您的问题以将其包括在内。错误消息是线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:索引1超出了Part2.main(Part2.java:35)@Cheg18中长度1的界限,提供了更新