J'ai d'abord touché Java ④

J'ai essayé de toucher Java

Veuillez pardonner car c'est un mémorandum autosuffisant

Essayez de faire divers

Suite de la session précédente.

④ Application de quiz à 4 choix

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.

prime

① ArrayList et array sont différents

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

J'ai d'abord touché Java ②
J'ai d'abord touché Java ③
J'ai d'abord touché Java ④
J'ai d'abord touché Java
J'ai touché Scala
Construction de premier niveau (Java)
J'ai touché Scala ~ [Classe] ~
J'ai touché Scala ~ [Objet] ~
J'ai touché Scala ~ [Trate] ~
Après tout, si vous apprenez d'abord, je pense que Java
Ce que j'ai recherché sur Java 8
J'ai commencé Java Gold (Chapitre 1-1)
Ce que j'ai recherché sur Java 6
J'ai fait une roulette à Java.
Ce que j'ai recherché sur Java 9
J'ai étudié les types primitifs Java
J'ai touché Scala ~ [Syntaxe de contrôle] ~
J'ai pris Java SE8 Gold.
J'ai essayé Drools (Java, InputStream)
Ce que j'ai recherché sur Java 7
J'ai essayé d'utiliser Java REPL
[Java] J'ai essayé d'implémenter la combinaison.
Premier développement Java dans Eclipse
Je ne suis pas sûr du traitement parallèle Java
J'ai étudié le constructeur (java)
J'ai essayé la métaprogrammation avec Java
Ce que j'ai recherché sur Java 5
JAVA (Première étape: édition Git Bush)
J'ai envoyé un e-mail en Java
J'ai comparé les constructeurs PHP et Java
J'ai créé un PDF avec Java.
J'ai créé une application shopify @java
J'ai vérifié Java Flight Recorder (JFR)
Tombé dans Java Silver (pleurant)
J'ai essayé d'interagir avec Java
J'ai essayé la communication UDP avec Java
J'ai écrit le théorème de Gordobach en java
J'ai essayé le framework Java "Quarkus"
Java
J'ai essayé d'utiliser l'API Java8 Stream
Ce que j'ai appris avec Java Gold
J'ai fait une annotation en Java.
J'ai essayé d'utiliser JWT en Java
J'ai essayé de résumer l'apprentissage Java (1)
Java
Ce que j'ai appris avec Java Silver
Ce que j'ai recherché sur l'apprentissage Java
J'ai essayé de résumer Java 8 maintenant
J'ai essayé d'utiliser le mémo Java LocalDate
J'ai comparé Java et Ruby FizzBuzz.
J'ai essayé d'utiliser Google HttpClient de Java
J'ai touché Tribuo publié par Oracle. Document Tribuo --Une bibliothèque de prédiction Java (v4.0)
J'ai essayé d'utiliser l'API Elasticsearch en Java
Introduction à Java pour la première fois # 2
Premiers pas pour l'apprentissage profond en Java
Java pour tous! J'ai lu tout le monde en Java #minjava
J'ai essayé de résumer les expressions Java lambda
Java9 était inclus, j'ai donc essayé jshell.