添加整数值并在不同类中使用它们
Adding up integer values and using them in different clas
我正在制作一个有趣的练习脚本以供复习,但我遇到了一些问题。该脚本使用随机数来决定字母 "A, B or C" 以及何时获得一组 3 个节目 Yahtzee!在控制台上。我可以让它正常工作,但我决定加上你从 25 个中得到的 Yahtzees 数量。这是我目前所拥有的。
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
import ArrayList.EnhancedLoop2;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
System.out.println("TIME TO PLAY JAVA YAHTZEE");
System.out.println("Type 1 when ready");
in.nextInt();
ArrayList<NewClass> al = new ArrayList<NewClass>();
for(int i = 0; i <= 25; i++)
{
NewClass nw = new NewClass();
al.add(nw);
}
for(NewClass enhanced : al)
{
System.out.println("You got " + enhanced.m + " Yahtzees. Good Job");
}
}
}
import java.util.ArrayList;
import java.util.Random;
public class NewClass {
public String a;
public String b;
public String c;
public static int m;
public NewClass()
{
getLetter();
}
public static String getLetter()
{
String rv = "";
System.out.println("");
String a = method1();
String b = method1();
String c = method1();
System.out.println("Your letters are");
System.out.println(a + "\n" + b + "\n" + c);
System.out.print("your set is: " + a + b + c + "\n");
getLetter2(a, b, c);
return rv;
}
public static String getLetter2(String a, String b, String c)
{
String rv = "";
if(a == "A" && b == "A" && c == "A")
{
System.out.println("YAHTZEE!");
}
else if(a == "B" && b == "B" && c == "B")
{
System.out.println("YAHTZEE!");
}
else if(a == "C" && b == "C" && c == "C")
{
System.out.println("YAHTZEE!");
m = yahtzeeCount(a, b, c);
}
return rv;
}
public static String method1()
{
String letter = "";
Random r = new Random();
for(int i = 0; i <= 2; i++)
{
int cv = r.nextInt(9) + 1;
if(cv <= 3)
{
letter = "A";
}
else if(cv >= 4 && cv <= 6)
{
letter = "B";
}
else if(cv >=7 && cv <=9)
{
letter = "C";
}
}
return letter;
}
public static int yahtzeeCount(String a, String b, String c)
{
int rv = 0;
if(a == "A" && b == "A" && c == "A" || a == "B" && b == "B" && c == "B" || a == "C" && b == "C" && c == "C")
{
rv = 1;
}
return rv;
}
}
我也遇到了脚本显示 "you got # yahtzees. Good job." 25 次而不是一次的问题,我似乎无法弄清楚如何让它只显示一次。
非常感谢所有帮助。谢谢。
我最终对脚本进行了相当大的更改,最后不需要 ArrayList(我不太了解增强循环)。这是我最终得到的
package Yahtzee;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
System.out.println("TIME TO PLAY JAVA YAHTZEE");
System.out.println("Type 1 when ready");
in.nextInt();
for(int i = 0; i <= 25; i++)
{
Test2 nw = new Test2();
}
System.out.println("Congratulations you got " + Test2.rv + " Yahtzees");
}
}
package Yahtzee;
import java.util.Random;
public class Test2 {
public String a;
public String b;
public String c;
public static int rv;
public Test2()
{
System.out.println("");
a = method1();
b = method1();
c = method1();
System.out.println("Your letters are");
System.out.println(a + "\n" + b + "\n" + c);
System.out.print("your set is: " + a + b + c + "\n");
if(a == "A" && b == "A" && c == "A")
{
System.out.println("YAHTZEE!");
rv = (rv + 1);
}
else if(a == "B" && b == "B" && c == "B")
{
System.out.println("YAHTZEE!");
rv = (rv + 1);
}
else if(a == "C" && b == "C" && c == "C")
{
System.out.println("YAHTZEE!");
rv = (rv + 1);
}
}
public static String method1()
{
String letter = "";
Random r = new Random();
for(int i = 0; i <= 2; i++)
{
int cv = r.nextInt(9) + 1;
if(cv <= 3)
{
letter = "A";
}
else if(cv >= 4 && cv <= 6)
{
letter = "B";
}
else if(cv >=7 && cv <=9)
{
letter = "C";
}
}
return letter;
}
}
我正在制作一个有趣的练习脚本以供复习,但我遇到了一些问题。该脚本使用随机数来决定字母 "A, B or C" 以及何时获得一组 3 个节目 Yahtzee!在控制台上。我可以让它正常工作,但我决定加上你从 25 个中得到的 Yahtzees 数量。这是我目前所拥有的。
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
import ArrayList.EnhancedLoop2;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
System.out.println("TIME TO PLAY JAVA YAHTZEE");
System.out.println("Type 1 when ready");
in.nextInt();
ArrayList<NewClass> al = new ArrayList<NewClass>();
for(int i = 0; i <= 25; i++)
{
NewClass nw = new NewClass();
al.add(nw);
}
for(NewClass enhanced : al)
{
System.out.println("You got " + enhanced.m + " Yahtzees. Good Job");
}
}
}
import java.util.ArrayList;
import java.util.Random;
public class NewClass {
public String a;
public String b;
public String c;
public static int m;
public NewClass()
{
getLetter();
}
public static String getLetter()
{
String rv = "";
System.out.println("");
String a = method1();
String b = method1();
String c = method1();
System.out.println("Your letters are");
System.out.println(a + "\n" + b + "\n" + c);
System.out.print("your set is: " + a + b + c + "\n");
getLetter2(a, b, c);
return rv;
}
public static String getLetter2(String a, String b, String c)
{
String rv = "";
if(a == "A" && b == "A" && c == "A")
{
System.out.println("YAHTZEE!");
}
else if(a == "B" && b == "B" && c == "B")
{
System.out.println("YAHTZEE!");
}
else if(a == "C" && b == "C" && c == "C")
{
System.out.println("YAHTZEE!");
m = yahtzeeCount(a, b, c);
}
return rv;
}
public static String method1()
{
String letter = "";
Random r = new Random();
for(int i = 0; i <= 2; i++)
{
int cv = r.nextInt(9) + 1;
if(cv <= 3)
{
letter = "A";
}
else if(cv >= 4 && cv <= 6)
{
letter = "B";
}
else if(cv >=7 && cv <=9)
{
letter = "C";
}
}
return letter;
}
public static int yahtzeeCount(String a, String b, String c)
{
int rv = 0;
if(a == "A" && b == "A" && c == "A" || a == "B" && b == "B" && c == "B" || a == "C" && b == "C" && c == "C")
{
rv = 1;
}
return rv;
}
}
我也遇到了脚本显示 "you got # yahtzees. Good job." 25 次而不是一次的问题,我似乎无法弄清楚如何让它只显示一次。 非常感谢所有帮助。谢谢。
我最终对脚本进行了相当大的更改,最后不需要 ArrayList(我不太了解增强循环)。这是我最终得到的
package Yahtzee;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
System.out.println("TIME TO PLAY JAVA YAHTZEE");
System.out.println("Type 1 when ready");
in.nextInt();
for(int i = 0; i <= 25; i++)
{
Test2 nw = new Test2();
}
System.out.println("Congratulations you got " + Test2.rv + " Yahtzees");
}
}
package Yahtzee;
import java.util.Random;
public class Test2 {
public String a;
public String b;
public String c;
public static int rv;
public Test2()
{
System.out.println("");
a = method1();
b = method1();
c = method1();
System.out.println("Your letters are");
System.out.println(a + "\n" + b + "\n" + c);
System.out.print("your set is: " + a + b + c + "\n");
if(a == "A" && b == "A" && c == "A")
{
System.out.println("YAHTZEE!");
rv = (rv + 1);
}
else if(a == "B" && b == "B" && c == "B")
{
System.out.println("YAHTZEE!");
rv = (rv + 1);
}
else if(a == "C" && b == "C" && c == "C")
{
System.out.println("YAHTZEE!");
rv = (rv + 1);
}
}
public static String method1()
{
String letter = "";
Random r = new Random();
for(int i = 0; i <= 2; i++)
{
int cv = r.nextInt(9) + 1;
if(cv <= 3)
{
letter = "A";
}
else if(cv >= 4 && cv <= 6)
{
letter = "B";
}
else if(cv >=7 && cv <=9)
{
letter = "C";
}
}
return letter;
}
}