Bases du développement Java ~ Comment écrire des programmes * Exercice 1 ~

Bases du développement Java ~ Comment écrire des programmes * Exercice ~

Faisons un exercice simple en utilisant les connaissances que nous avons acquises jusqu'à présent.

Connaissances nécessaires

Problème 1-1

Veuillez vous référer à l'organigramme et implémenter "Janken qui ne donne que du goo" et assurez-vous de mettre en œuvre le programme que vous gagnez. Veuillez vous référer à cette page pour le jugement de gain ou de perte de Janken. じゃんけん.png

Problème 1-2

Veuillez remplacer "Janken qui produit uniquement de la glu" par Janken qui produit uniquement du choki.

Problème 1-3

Veuillez remplacer "Janken qui donne seulement Goo" par un Janken normal qui donne autre chose que Goo. Cependant, dans ce cas, ne répétez pas et ne sortez pas "Aiko" en conséquence.

Problème 1-4

Permettez à vos mains de saisir des valeurs en externe et d'afficher les résultats de chaque match. Créez un programme Janken qui ne se terminera pas tant que vous n'aurez pas gagné. Affichez également le nombre de fois qu'il a fallu gagner à la fin.


Répondre

Problème 1-1

Janken.java


package janken;
public class Gudake {
	public static void main(String[] args) {
		//Variables qui ne changent pas une fois définies"final"Ajoutez pour en faire une constante. ・ ・ ・ ①
		final int GUU=0;
		final int CHOKI=1;
		final int PA=2;
		//Définissez vos propres mains et celles de l'ennemi ... ②
		int myHand=PA;
		int enemyHand=CHOKI;
		//Expression conditionnelle
		//Vaut-il mieux séparer cette expression conditionnelle en termes de code? ③
		if(((myHand-enemyHand)%3)==2) {
			System.out.println("Vous gagnez");
		}else {
			System.out.println("Ça ne devrait pas être le cas");
		}
	}
}

Commentaire)

Problème 1-2

Changez simplement ʻenemyHand = GU dans 1-1 en ʻenemyHand = CHOKI. Si vous n'avez pas fait les constantes goo, choki et par, vous oublierez quel nombre correspond à quel mouvement, mais si vous les rendez constants comme cette fois, il sera plus facile de modifier le programme.

Problème 1-3

Janken.java


package janken;
import java.util.Random;
public class Janken {
	public static void main(String args[]) {
		final int GUU=0;
		final int CHOKI=1;
		final int PA=2;
		int myHand=CHOKI;
		//Placez au hasard la main de l'adversaire. ・ ・ ・ ①
        Random roundom = new Random(2);
		int enemyHand=roundom.nextInt(3);
		//Lorsque vous écrivez avec if ... ②
		//Calculez à l'avance les conditions de victoire et de défaite ... ③
		int winningResult=((myHand-enemyHand)%3);
		if(winningResult==0){
			System.out.println("Je suis Aiko");
		}else if (winningResult==1) {
			System.out.println("je perd");
		}else {
			System.out.println("Gagner");
		}
		//Lieu d'écriture avec interrupteur ・ ・ ・ 4
		switch((myHand-enemyHand)%3){
			case 0:
				System.out.println("Je suis Aiko");
				break;
			case 1:
				System.out.println("je perd");
				break;
			case 2:
				System.out.println("Gagner");
				break;
		}
	}
}
  • À propos de ce programme C'est un ciseau à papier-pierre normal, mais attention à ne pas le répéter dans ce cas. Il y a des victoires, des défaites et des aiko, et il y a 3 modèles de jugement.

  • ① J'ai utilisé Random roundom = new Random (2); lors de la génération de nombres aléatoires. Si vous calculez avec java random, etc., de nombreux exemples de programmes vont sortir, alors allons-y. Il existe de nombreuses parties en java qui peuvent faire ce que vous voulez faire sur une seule ligne, alors recherchez-les comme il convient et utilisez-les.

  • ② Il existe trois modèles de ramification, de victoire, de perte et d'aiko, mais java ne peut répondre qu'à des questions oui non. Pensons au flux pour que le problème oui non puisse couvrir 3 modèles.

  • ③ La condition est jugée plusieurs fois afin de se diviser en 3 modèles. Vous pouvez écrire la formule de jugement séparément dans la partie if, mais si la formule de jugement est incorrecte, le nombre de corrections augmentera. Supprimons la formule de jugement en dehors du fait qu'un bogue se produira dans le programme.

  • ④ Dans ce cas, il peut être plus facile d'écrire avec switch que d'utiliser if. Je décrirai également le cas du branchement avec un interrupteur.

Problème 1-4

Il semble qu'il soit nécessaire d'écrire à partir de l'organigramme, et c'est un peu difficile, je vais donc l'ajouter si demandé. .. ..

Recommended Posts