Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java if-else语句有问题。。。重要的_Java_If Statement - Fatal编程技术网

Java if-else语句有问题。。。重要的

Java if-else语句有问题。。。重要的,java,if-statement,Java,If Statement,对不起,我的标题有点宽。但是我在12年级学习计算机,我的任务是制作一个生成数字的小程序,如果它等于另一组数字,你就会中奖,就像彩票一样。我发现很难让随机数生成器工作两次,所以我预先加载了一个数字变量。现在我的最后一个任务是让它在其中一个数字匹配时说“你赢了”,如果不是“你输了”,基本上我就是无法匹配变量` Random rn = new Random(); String answer = " 3\n 12 \n 27"; for(int i =0; i < 3; i++) { i

对不起,我的标题有点宽。但是我在12年级学习计算机,我的任务是制作一个生成数字的小程序,如果它等于另一组数字,你就会中奖,就像彩票一样。我发现很难让随机数生成器工作两次,所以我预先加载了一个数字变量。现在我的最后一个任务是让它在其中一个数字匹配时说“你赢了”,如果不是“你输了”,基本上我就是无法匹配变量`

Random rn = new Random();

String answer = " 3\n 12 \n 27";
for(int i =0; i < 3; i++)
{
    int answer1 = rn.nextInt(30) + 1;

   delay(2000);
    System.out.println(answer1);

}
    System.out.println("And the winning numbers are...");

delay(2000);
    System.out.println(answer); }


    `
Random rn=new Random();
字符串answer=“3\n 12\n 27”;
对于(int i=0;i<3;i++)
{
int answer1=rn.nextInt(30)+1;
延迟(2000年);
系统输出打印(应答1);
}
System.out.println(“中奖号码是…”);
延迟(2000年);
System.out.println(答案);}
`
我有点进一步,但我的“赢”似乎不会被解析为一个变量,这是我的新代码`

 Random rn = new Random();

String answer = " 3\n 12 \n 27";
for(int i =0; i < 3; i++)
{
    int answer1 = rn.nextInt(30) + 1;


    System.out.println(answer1);


    System.out.println("And the winning numbers are...");


    System.out.println(answer); 

     if (answer1 == 3)
     if (answer1 == 12)
     if (answer1 == 27)
         win = true;

 if (win) {
System.out.println("You win!");
 } else
System.out.println("You loose");
}`
Random rn=new Random();
字符串answer=“3\n 12\n 27”;
对于(int i=0;i<3;i++)
{
int answer1=rn.nextInt(30)+1;
系统输出打印(应答1);
System.out.println(“中奖号码是…”);
System.out.println(应答);
如果(回答1==3)
如果(回答1==12)
如果(回答1==27)
赢=真;
如果(赢){
System.out.println(“你赢了!”);
}否则
System.out.println(“你松了”);
}`
现在我的最后一个任务是让它在其中一个数字匹配时说“你赢了”,如果不是“你输了”

大概是这样的:

public static void main(String[] args) throws InterruptedException {
        Random rn = new Random();
        int preloadedAnswer = 19;
        boolean win = false;
        for (int i = 0; i < 3; i++) {
            int answer1 = rn.nextInt(30) + 1;
            if (answer1 == preloadedAnswer)
                win = true;
        }
        if (win) {
            System.out.println("You win!");
        } else
            System.out.println("You loose");
    }
publicstaticvoidmain(String[]args)抛出InterruptedException{
Random rn=新的Random();
int prepreedanswer=19;
布尔赢=假;
对于(int i=0;i<3;i++){
int answer1=rn.nextInt(30)+1;
如果(应答1==预应答)
赢=真;
}
如果(赢){
System.out.println(“你赢了!”);
}否则
System.out.println(“你松了”);
}

代码的问题是,只有在很长一段时间后,你才会中奖。试着做一些算法来增加获胜的概率

import java.io.*;
import java.util.Random;

public class Lottery{
    public static void main(String args[]) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        Random rn = new Random();

        int ch = 1;
        while(ch == 1){
            String str = "";
            String str1 = "";
            String str2 = "";

            for(int i = 0; i < 3; i++){
                int answer1 = rn.nextInt(9) + 1;

                //delay(2000);
                str = str + "-" + answer1;
                str1=str1+answer1;
            }

            System.out.println(str);
            str = "";

            for(int i =0; i < 3; i++){
                int answer1 = rn.nextInt(9) + 1;

                //delay(2000);
                str = str + "-" + answer1;
                str2 = str2 + answer1;
            }
            System.out.println(str);

            if(Integer.parseInt(str1) == Integer.parseInt(str2)){
                System.out.println("Crongrats !! You are the Lucky Winner !!!!");
            }   
            else
                System.out.println("Better Luck Next Time");

            System.out.println("Wanna Try Again ? 1=YES, 0=NO");
            ch = Integer.parseInt(br.readLine());
        }
        System.out.println("Thanks for Playing Lottery with us !! Come back soon");
    }
}
import java.io.*;
导入java.util.Random;
公共类彩票{
公共静态void main(字符串args[])引发异常{
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
Random rn=新的Random();
int ch=1;
while(ch==1){
字符串str=“”;
字符串str1=“”;
字符串str2=“”;
对于(int i=0;i<3;i++){
int answer1=rn.nextInt(9)+1;
//延迟(2000年);
str=str+“-”+回答1;
str1=str1+应答1;
}
系统输出打印项次(str);
str=“”;
对于(int i=0;i<3;i++){
int answer1=rn.nextInt(9)+1;
//延迟(2000年);
str=str+“-”+回答1;
str2=str2+回答1;
}
系统输出打印项次(str);
if(Integer.parseInt(str1)=Integer.parseInt(str2)){
System.out.println(“Crongrats!!你是幸运的赢家!!”);
}   
其他的
System.out.println(“下次好运”);
System.out.println(“想再试一次吗?1=是,0=否”);
ch=Integer.parseInt(br.readLine());
}
System.out.println(“感谢与我们一起玩彩票!!快回来”);
}
}

我看不到任何if语句?Stackoverflow可能不是询问家庭作业的最佳位置。因为我不知道如何在这种情况下生成一个,int-answer1在主体中,因此它不允许我在主体外使用它。在该循环外创建一个数组,并在匹配成功后将数字插入其中。因此,在最后,如果数组长度大于1,则将answer1声明放在for循环的主体之外。我只是想知道,您是否可以帮助我实现这一点,以便我能够正确获得其中一个数字,我将“获胜”?