Machen wir eine einfache Übung mit dem Wissen, das wir bisher gewonnen haben.
Bitte beziehen Sie sich auf das Flussdiagramm und implementieren Sie "Janken, das nur Gänsehaut gibt" und stellen Sie sicher, dass Sie das Programm implementieren, das Sie gewinnen. Die Beurteilung des Gewinns oder Verlusts von Janken finden Sie unter diese Seite.
Bitte ändern Sie "Janken, der nur Gänsehaut produziert" in Janken, der nur Choki produziert.
Bitte ändere "Janken, der nur Goo gibt" in einen normalen Janken, der nur Goo gibt. Wiederholen Sie in diesem Fall jedoch nicht "Aiko" und geben Sie es nicht aus.
Lassen Sie Ihre Hände Werte extern eingeben und zeigen Sie die Ergebnisse für jedes Spiel an. Erstellen Sie ein Janken-Programm, das erst endet, wenn Sie gewinnen. Zeigen Sie auch an, wie oft am Ende gewonnen wurde.
Janken.java
package janken;
public class Gudake {
public static void main(String[] args) {
//Variablen, die sich nach dem Setzen nicht ändern"final"Fügen Sie hinzu, um es zu einer Konstanten zu machen. ・ ・ ・ ①
final int GUU=0;
final int CHOKI=1;
final int PA=2;
//Setze deine eigenen und die Hände des Feindes ... ②
int myHand=PA;
int enemyHand=CHOKI;
//Bedingter Ausdruck
//Ist es besser, diesen bedingten Ausdruck in Bezug auf Code zu trennen? ③
if(((myHand-enemyHand)%3)==2) {
System.out.println("Du gewinnst");
}else {
System.out.println("Das sollte nicht der Fall sein");
}
}
}
Kommentar)
Über das gesamte Programm Wie Sie im Flussdiagramm sehen können, werden wir diesmal nur den Fall des Gewinnens oder Verlierens betrachten. Bitte implementieren Sie gemäß den Spezifikationen, ohne an diesen gesunden Menschenverstand gebunden zu sein.
① Wenden Sie Zahlen auf goo, choki und par an. Wenn Sie es nicht anwenden, funktioniert das Programm, aber wenn andere es lesen, wissen Sie nicht, worauf sich jede Zahl bezieht. Zahlen, die aussagekräftig sind, von denen Sie jedoch nicht wissen, worauf sie sich beziehen, heißen magische Zahlen </ font>. Wenn Sie auf diese Weise schreiben, werden Sie weiterhin beschwert. Die Werte von goo, choki und par werden diesmal nicht geändert. Fügen Sie daher vor dem Typ "final" hinzu, um eine Konstante </ b> zu erhalten. Wenn Sie eine Konstante festlegen, können Sie den Wert nicht neu schreiben. Bitte schreiben Sie es als Testversion um. Im Gegensatz zu Variablen werden Konstanten in Großbuchstaben </ b> geschrieben.
② Setze deine eigene Hand und die Hand des Feindes. Schreiben Sie Variablen in Kamelzeichen (Mischfall wie Kamelrücken). Dieses Mal können Sie solide in den Quellcode schreiben.
③ Machen Sie ein Zustandsurteil. Der Wert wird in den if-Minuten berechnet, aber im Grunde ist es nicht gut, die Berechnungsformel direkt in die bedingte Formel einzufügen ... Diesmal handelt es sich jedoch um einen Einweg-Beispielcode mit nur einem Zweig. .. ..
Ändern Sie einfach die "feindliche Hand = GU" in 1-1 in "feindliche Hand = CHOKI". Wenn Sie die Konstanten goo, choki und par nicht erstellt haben, vergessen Sie, welche Zahl welcher Bewegung entspricht. Wenn Sie sie jedoch wie diesmal konstant halten, ist es einfacher, das Programm zu ändern.
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;
//Setze zufällig die Hand des Gegners. ・ ・ ・ ①
Random roundom = new Random(2);
int enemyHand=roundom.nextInt(3);
//Beim Schreiben mit if ... ②
//Berechnen Sie die Gewinn- und Verlustbedingungen im Voraus ... ③
int winningResult=((myHand-enemyHand)%3);
if(winningResult==0){
System.out.println("Ich bin Aiko");
}else if (winningResult==1) {
System.out.println("Ich verliere");
}else {
System.out.println("Sieg");
}
//Schreibort mit Schalter ・ ・ ・ 4
switch((myHand-enemyHand)%3){
case 0:
System.out.println("Ich bin Aiko");
break;
case 1:
System.out.println("Ich verliere");
break;
case 2:
System.out.println("Sieg");
break;
}
}
}
Über dieses Programm Es ist eine normale Stein-Papier-Schere, aber achten Sie in diesem Fall darauf, sie nicht zu wiederholen. Es gibt Gewinne, Verluste und Aiko, und es gibt 3 Muster für die Beurteilung.
①
Ich habe Random roundom = new Random (2);
verwendet, um Zufallszahlen zu generieren. Wenn Sie mit "Java Random" usw. rechnen, werden viele Beispielprogramme herauskommen. Lassen Sie uns also darauf verweisen. Es gibt viele Teile in Java, die in einer Zeile das tun können, was Sie wollen. Suchen Sie also nach ihnen und verwenden Sie sie.
② Es gibt drei Verzweigungsmuster: Gewinnen, Verlieren und Aiko, aber Java kann nur Ja-Nein-Fragen beantworten. Lassen Sie uns über den Fluss nachdenken, damit das Ja-Nein-Problem 3 Muster abdecken kann.
③ Der Zustand wird mehrfach beurteilt, um in 3 Muster zu verzweigen. Sie können die Beurteilungsformel separat im if-Teil schreiben. Wenn die Beurteilungsformel jedoch falsch ist, erhöht sich die Anzahl der Korrekturen. Lassen Sie uns die Beurteilungsformel nach außen ausschneiden, wenn wir bedenken, dass im Programm ein Fehler auftritt.
④ In diesem Fall kann das Schreiben mit switch sauberer sein als mit if. Ich werde auch den Fall der Verzweigung mit einem Schalter beschreiben.
Es scheint notwendig zu sein, aus dem Flussdiagramm zu schreiben, und es ist ein wenig schwierig, daher werde ich es auf Anfrage hinzufügen. .. ..
Recommended Posts