Veuillez pardonner car c'est un mémorandum autosuffisant
Suite de la session précédente.
Améliorations de cette fonctionnalité que j'ai envisagées la dernière fois ① Lors de l'affichage du contenu du tableau sur le terminal tel que [[1] Université Meiji, [2] Université Hosei, [3] Université Waseda, [4] Université Rikkyo], ne prennent pas en charge l'affichage de []. ② Veuillez sélectionner à nouveau. Vous permet de saisir des nombres lorsque s'affiche. Je pense que cela peut être fait par un traitement itératif. ③ Augmentez le nombre de problèmes. ④ Permettez de poser des questions au hasard. ⑤ Permet d'afficher les réponses de manière aléatoire.
Je partirai de l'endroit où je peux le faire pour le moment. ② sera amélioré.
Test4.java
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
class Test4 {
public static void main(String args[]) {
List<String> array = new ArrayList<String>();
array.add("[1]Université Meiji");
array.add("[2]Université Hosei");
array.add("[3]Université Waseda");
array.add("[4]Université Rikkyo");
for (int i = 0; i <= 3; i++) {
System.out.println("De quelle université Morishita, qui s'est classée première lors du repêchage de 2019, est-elle issue?");
System.out.println(array);
Integer number = new Scanner(System.in).nextInt();
if (number == 1) {
System.out.println("Est la bonne réponse!");
break;
} else {
array.remove(number - 1);
System.out.println("C'est faux");
System.out.println("Veuillez resélectionner le numéro.");
}
}
}
}
Terminal
De quelle université Morishita, qui s'est classée première lors du repêchage de 2019, est-elle issue?
[[1]Université Meiji, [3]Université Waseda, [4]Université Rikkyo]
1
Est la bonne réponse!
↑ Modèle de réponse correct J'ai écrit break;, donc la répétition s'est arrêtée.
Terminal
De quelle université Morishita, qui s'est classée première lors du repêchage de 2019, est-elle issue?
[[1]Université Meiji, [2]Université Hosei, [3]Université Waseda, [4]Université Rikkyo]
2
C'est faux
Veuillez resélectionner le numéro.
De quelle université Morishita, qui s'est classée première lors du repêchage de 2019, est-elle issue?
[[1]Université Meiji, [3]Université Waseda, [4]Université Rikkyo]
1
Est la bonne réponse!
↑ Corriger le motif par erreur une fois C'est une bonne décision.
Terminal
De quelle université Morishita, qui s'est classée première lors du repêchage de 2019, est-elle issue?
[[1]Université Meiji, [2]Université Hosei, [3]Université Waseda, [4]Université Rikkyo]
3
C'est faux
Veuillez resélectionner le numéro.
De quelle université Morishita, qui s'est classée première lors du repêchage de 2019, est-elle issue?
[[1]Université Meiji, [2]Université Hosei, [4]Université Rikkyo]
4
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 3 out of bounds for length 3
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
at java.base/java.util.Objects.checkIndex(Objects.java:359)
at java.base/java.util.ArrayList.remove(ArrayList.java:504)
at Test4.main(Test4.java:23)
↑ Il y a eu un problème. Si vous sélectionnez 4 après avoir fait une erreur, il y aura une différence entre le nombre (2) sur le tableau et le nombre entré (3) car il s'agit du troisième élément sur le tableau.
Cette correction est difficile avec les connaissances actuelles, donc c'est douloureux, mais je l'ai fait comme ça.
Test4.java
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
class Test4 {
public static void main(String args[]) {
List<String> array = new ArrayList<String>();
array.add("[1]Université Meiji");
array.add("[2]Université Hosei");
array.add("[3]Université Waseda");
array.add("[4]Université Rikkyo");
for (int i = 0; i <= 3; i++) {
System.out.println("De quelle université Morishita, qui s'est classée première lors du repêchage de 2019, est-elle issue?");
System.out.println(array);
Integer number = new Scanner(System.in).nextInt();
if (number == 1) {
System.out.println("Est la bonne réponse!");
break;
} else {
array.set(number - 1, "");
System.out.println("C'est faux");
System.out.println("Veuillez resélectionner le numéro.");
}
}
}
}
Je supprimais l'élément avec array.remove (numéro -1);, En créant un espace avec array.set (number --1, "");, l'écart du nombre d'éléments a été éliminé.
Terminal
[[1]Université Meiji, [2]Université Hosei, [3]Université Waseda, [4]Université Rikkyo]
2
C'est faux
Veuillez resélectionner le numéro.
De quelle université Morishita, qui s'est classée première lors du repêchage de 2019, est-elle issue?
[[1]Université Meiji, , [3]Université Waseda, [4]Université Rikkyo]
3
C'est faux
Veuillez resélectionner le numéro.
De quelle université Morishita, qui s'est classée première lors du repêchage de 2019, est-elle issue?
[[1]Université Meiji, , , [4]Université Rikkyo]
4
C'est faux
Veuillez resélectionner le numéro.
De quelle université Morishita, qui s'est classée première lors du repêchage de 2019, est-elle issue?
[[1]Université Meiji, , , ]
1
Est la bonne réponse!
Ce n'est pas idéal, mais faisons-le!
Ensuite, améliorez ③.
Test5.java
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
class Test5 {
public static void main(String args[]) {
List<String> array01 = new ArrayList<String>();
array01.add("[1]Université Meiji");
array01.add("[2]Université Hosei");
array01.add("[3]Université Waseda");
array01.add("[4]Université Rikkyo");
for (int i = 0; i <= 3; i++) {
System.out.println("De quelle université Morishita, qui s'est classée première lors du repêchage de 2019, est-elle issue?");
System.out.println(array01);
Integer number = new Scanner(System.in).nextInt();
if (number == 1) {
System.out.println("Est la bonne réponse!");
break;
} else {
array01.set(number - 1, "");
System.out.println("C'est faux");
System.out.println("Veuillez resélectionner le numéro.");
}
}
List<String> array02 = new ArrayList<String>();
array02.add("[1]Université Meiji");
array02.add("[2]Université Hosei");
array02.add("[3]Université Toyo");
array02.add("[4]Université d'Asie");
for (int i = 0; i <= 3; i++) {
System.out.println("De quelle université est originaire Ugusa, deuxième du repêchage en 2019?");
System.out.println(array02);
Integer number = new Scanner(System.in).nextInt();
if (number == 2) {
System.out.println("Est la bonne réponse!");
break;
} else {
array02.set(number - 1, "");
System.out.println("C'est faux");
System.out.println("Veuillez resélectionner le numéro.");
}
}
List<String> array03 = new ArrayList<String>();
array03.add("[1]Lycée Hanasaki Tokuei");
array03.add("[2]Lycée Tsuruga Kibi");
array03.add("[3]Lycée Kasumigaura");
array03.add("[4]Lycée Ofunato");
for (int i = 0; i <= 3; i++) {
System.out.println("De quel lycée Suzuki, qui est troisième au repêchage 2019, est-il originaire?");
System.out.println(array03);
Integer number = new Scanner(System.in).nextInt();
if (number == 3) {
System.out.println("Est la bonne réponse!");
break;
} else {
array03.set(number - 1, "");
System.out.println("C'est faux");
System.out.println("Veuillez resélectionner le numéro.");
}
}
}
}
Terminal
De quelle université Morishita, qui s'est classée première lors du repêchage de 2019, est-elle issue?
[[1]Université Meiji, [2]Université Hosei, [3]Université Waseda, [4]Université Rikkyo]
2
C'est faux
Veuillez resélectionner le numéro.
De quelle université Morishita, qui s'est classée première lors du repêchage de 2019, est-elle issue?
[[1]Université Meiji, , [3]Université Waseda, [4]Université Rikkyo]
1
Est la bonne réponse!
De quelle université est originaire Ugusa, deuxième du repêchage en 2019?
[[1]Université Meiji, [2]Université Hosei, [3]Université Toyo, [4]Université d'Asie]
1
C'est faux
Veuillez resélectionner le numéro.
De quelle université est originaire Ugusa, deuxième du repêchage en 2019?
[, [2]Université Hosei, [3]Université Toyo, [4]Université d'Asie]
3
C'est faux
Veuillez resélectionner le numéro.
De quelle université est originaire Ugusa, deuxième du repêchage en 2019?
[, [2]Université Hosei, , [4]Université d'Asie]
2
Est la bonne réponse!
De quel lycée Suzuki, qui est troisième au repêchage 2019, est-il originaire?
[[1]Lycée Hanasaki Tokuei, [2]Lycée Tsuruga Kibi, [3]Lycée Kasumigaura, [4]Lycée Ofunato]
3
Est la bonne réponse!
Pour le moment, j'ai essayé d'organiser trois des mêmes fonctions. Il n'y a pas de problème en tant que fonction. Cependant, je pense qu'il peut être rendu un peu plus compact. peut être.
J'ai découvert cela en enquêtant. Au début, je pensais que c'était la même chose. 【la différence】 -ArrayList a une taille variable (nombre d'éléments) ・ La méthode de déclaration est différente -ArrayList ne contient pas de types primitifs Type primitif Type de valeur tel que int et booléen
Recommended Posts