我想声明一个名为“courses”的arrayList,但我的代码中有问题。我还想要打印笔记和课程。
ArrayList<Integer> listNotes = new ArrayList();
ArrayList<String> listCourses = new ArrayList();
int notes;
String[] courses = {"Science", "History", "English"};
for(int i=0; i<5;i++){
//System.out.print((i+1) + " note(s) : ");
System.out.print((courses[i]) + " Note : ");
notes = INPUT.nextInt();
listNotes.add(notes);
}
System.out.print("Display : " );
感谢您的帮助。
答案 0 :(得分:1)
youassassin是正确的,你的问题是你的for循环迭代次数过多,否则你的代码正在做它应该做的事情。
无论何时迭代数组,最安全的方法是在终止条件下使用它的长度。
for(int i=0; i < courses.length; i++) {
//System.out.print((i+1) + " note(s) : ");
System.out.print((courses[i]) + " Note : ");
notes = INPUT.nextInt();
listNotes.add(notes);
}
如果您处理不同大小的数组或处理正在更改的数组,此方法可为您提供优势。例如,如果要扩展course数组,则不必调整循环必须执行的迭代次数,因为循环本身将查找数组的大小并为每个数组元素进行一次迭代。
答案 1 :(得分:0)
ArrayList<Integer> listNotes = new ArrayList(); ArrayList<String> listCourses = new ArrayList();
int notes;
String[] courses = {"Science", "History", "English"};
Scanner input = new Scanner(System.in);
for(int i=0; i<courses.length;i++){
//System.out.print((i+1) + " note(s) : "); System.out.print((courses[i]) + " Note :");
notes = input.nextInt(); listNotes.add(notes); } System.out.print("Display : " );
答案 2 :(得分:0)
这是解决方案。
public class Main {
public static void main(String[] args) {
Scanner INPUT = new Scanner(System.in);
ArrayList<Integer> listNote = new ArrayList();
int note = 0;
String[] cours = {"Math", "Geo", "Os"};
double somme = 0;
for(int i = 0; i<cours.length;i++){
System.out.print(cours[i] + " : " );
note = INPUT.nextInt();
listNote.add(note);
somme = somme + note;
}
//System.out.print("La note est de " + somme);
double moyenne = somme / 3;
System.out.println("Résumé");
for(int i = 0; i<cours.length;i++){
System.out.println(cours[i] + " " + listNote.get(i));
}
System.out.print("moyenne = " + moyenne);
}
}
答案 3 :(得分:0)
我想为您提供一个使用 HashMap 的替代解决方案:
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input;
Map<String, String> courses = new HashMap<>();
//courses.put("add your course here","add your note here");
courses.put("science", "my notes my notes on Science");
courses.put("history", "my notes on History");
courses.put("english", "my notes on English");
while (true) {
System.out.println("Which note would you like to check out?");
input = scanner.nextLine().toLowerCase();
if (courses.keySet().contains(input))
System.out.println("Found notes on " + input + ": " + courses.get(input));
else
System.out.println("Couldn't find notes on " + input);
System.out.println("Another search? (Y/N)");
input = scanner.nextLine().toLowerCase();
if (input.equals("n"))
break;
}
}
}