java吧 关注:1,238,714贴子:12,711,619
  • 6回复贴,共1

【求救!!!】java新手求赐教 *^__^*!!!急!!!

只看楼主收藏回复

这是我编的猜数字的小游戏,已经能实现提示用户只有4次机会猜1个0~20的整数,在这个基础上还要加程序代码实现以下要求。 (老师提示说运用到数组!)
要求:
1.不允许用户重复输入已经输错的数值,并且不记做用了一次机会(比如谜底是5,用户猜的1,提示猜错,第二次用户还猜1,那程序提示用户已经输过了,但第二次机会不算用过了)
2.用户输入的值不能超出0-20,并且不记做用了一次机会(用户要是输入了<0或>20的数,那程序要提示谜底不在范围内,且这次机会也不算用过了)
import javax.swing.JOptionPane;
public class CaiShu{
public static void main(String [] args){
int midi = (int)(System.currentTimeMillis()%21);
int shifoucaizhong = 0;
for (int i=0;i<4;i++){
String caishu = JOptionPane.showInputDialog(null,"请随机猜一个0~20之间的整数,只有4次机会噢!"+midi);
int shu=Integer.parseInt(caishu);
if (shu == midi){
JOptionPane.showMessageDialog (null,"猜对了!");
shifoucaizhong = 1;
break;
}
else if (shu > midi){
JOptionPane.showMessageDialog (null,"高了噢!还有"+(3-i)+"次机会!"); }
else {
JOptionPane.showMessageDialog (null,"低了噢!还有"+(3-i)+"次机会!"); }
}
if(shifoucaizhong==0)
JOptionPane.showMessageDialog (null,"智商也忒低了吧!游戏失败!不就是"+midi+"嘛!");
}
}


1楼2012-11-16 23:44回复
    这是我编的猜数字的小游戏,已经能实现提示用户只有4次机会猜1个0~20的整数,在这个基础上还要加程序代码实现以下要求。 (老师提示说运用到数组!)
    要求:
    1.不允许用户重复输入已经输错的数值,并且不记做用了一次机会(比如谜底是5,用户猜的1,提示猜错,第二次用户还猜1,那程序提示用户已经输过了,但第二次机会不算用过了)
    2.用户输入的值不能超出0-20,并且不记做用了一次机会(用户要是输入了<0或>20的数,那程序要提示谜底不在范围内,且这次机会也不算用过了)
    import javax.swing.JOptionPane;
    public class CaiShu{
    public static void main(String [] args){
    int midi = (int)(System.currentTimeMillis()%21);
    int shifoucaizhong = 0;
    for (int i=0;i<4;i++){
    String caishu = JOptionPane.showInputDialog(null,"请随机猜一个0~20之间的整数,只有4次机会噢!"+midi);
    int shu=Integer.parseInt(caishu);
    if (shu == midi){
    JOptionPane.showMessageDialog (null,"猜对了!");
    shifoucaizhong = 1;
    break;
    }
    else if (shu > midi){
    JOptionPane.showMessageDialog (null,"高了噢!还有"+(3-i)+"次机会!"); }
    else {
    JOptionPane.showMessageDialog (null,"低了噢!还有"+(3-i)+"次机会!"); }
    }
    if(shifoucaizhong==0)
    JOptionPane.showMessageDialog (null,"智商也忒低了吧!游戏失败!不就是"+midi+"嘛!");
    }
    }


    2楼2012-11-16 23:49
    回复


      4楼2012-11-17 00:22
      回复
        要实现要求1和2 请用do while
        int 谜底=。。。。。;
        int 实际次数=0;
        int 已猜数字[]= new int[4];最好使用List 已猜数字=new arrayList(); int数组初始的时候默认是0,如果输入0岂不是超级bug
        do{
        int num=获取输入数字;
        boolean flag=false;
        if(num>0 || num <20){ //满足条件1
        if(num==谜底){ break; }
        else{
        for(int i=0;i<list.size();i++){
        if(num==Integer.paserInt(list.get(i))){
        flag=true;//相当于在曾经输入的数里有重复的
        system.out.println("输入重复");
        break;
        }
        }

        }else{
        flag=true;
        system.out.println("输入错误")//满足要求2
        }
        if(flag==false){
        list.add(num); //曾输入的数字放入list中
        实际次数++; //实际次数并没有因为他们的输入错误输入重复而改变
        }
        }while(实际次数<4);


        IP属地:安徽6楼2012-11-17 02:44
        收起回复