java吧 关注:1,249,388贴子:12,730,879
  • 9回复贴,共1

一个非常简单地if else结构+ 请大神帮忙+ 急!!!

只看楼主收藏回复

计算机课要编一个slot machine的程序
具体就是
如果三个数是7,那么赢1000;
如果三个数相同但不是7,那么赢500;
如果两个为7,一个为6,那么赢400;
除此之外,如果两个相同,那么赢100;
其他情况就打印 "YOU WON NOTHING."
我写了如下程序:
import java.lang.Math;
public class Assn1_2150130 {
public static void main(String[] args) {
// Generate three random signle-digit integar from 0-7.
int n1 = (int)(Math.random()*7);
int n2 = (int)(Math.random()*7);
int n3 = (int)(Math.random()*7);
System.out.println( n1 +" "+ n2 + " " + n3);
int winning=0;
String str = "NOTHING";
if (n1==n2 && n2==n3 && n3==7) // Print out the result that of winning $1000.
winning = 1000;
else if (n1==n2 && n2==n3 && n3!=7)
winning = 500;
else if (n3==n2 && n2==7 && n1==6)
winning = 400;
else if (n1==n3 && n3==7 && n2==6)
winning = 400;
else if (n1==n2 && n2==7 && n3==6)
winning = 400;
else if (n1==n2 && n2!=7 && n3==6)
winning = 100;
else if (n1==n2 && n2==7 && n3!=6)
winning = 100;
else if (n1==n2 && n2!=7 && n3!=6)
winning = 100;
else if (n2==n3 && n3!=7 && n1==6)
winning = 100;
else if (n2==n3 && n3==7 && n1!=6)
winning = 100;
else if (n2==n3 && n3!=7 && n1!=6)
winning = 100;
else if (n1==n3 && n3!=7 && n2==6)
winning = 100;
else if (n1==n3 && n3==7 && n2!=6)
winning = 100;
else if (n1==n3 && n3!=7 && n2!=6)
winning = 100;
//Print out the winning amount if there is any.
System.out.println("You won" + " " + winning + ".");
if (n1!=n2 && n2!=n3 && n1!= n3)
winning = 0;
System.out.println("You won NOTHING.");
}
}
本来也没想着用什么高级办法,结果到最后一步的时候不行。死活没法单独打印 "You won NOTHING."。实在想不出了,晚上就到交了,求救!


1楼2015-02-07 04:31回复
    楼主太奸诈了,最大奖是给人看的


    5楼2015-02-07 08:18
    回复
      我居然看完了。。你那一大堆if else最后少了个else,可以在else里winning=0,然后最下面判断if(winning=0)print。。。


      6楼2015-02-07 08:20
      回复
        应该用rand.nextInt吧


        来自Android客户端13楼2015-02-07 16:18
        回复
          7就出不来 。。你们学的if 不用加{}这个?


          14楼2015-02-07 16:51
          回复
            System.out.println("You won" + " " + winning + ".");你写在循环外面所以他怎么也会输出啊。。。
            我给你小改了下。。
            else if (n1 == n3 && n3 != 7 && n2 != 6)
            winning = 100;
            if (n1 != n2 && n2 != n3 && n1 != n3);
            if(winning==0){
            System.out.println("nonthing");
            }else {
            System.out.println("You won" + " " + winning + ".");
            }


            IP属地:辽宁15楼2015-02-07 16:56
            回复
              差不多就是二楼那样了


              IP属地:广东来自Android客户端16楼2015-02-07 16:59
              回复
                最讨厌写if不写括号的


                IP属地:浙江17楼2015-02-07 16:59
                回复