A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张晓林老师 中级黑马   /  2016-12-12 11:32  /  3190 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

5黑马币
生成一个1-100的随机数                          
2:用户键盘录入一个数字 ,与该随机数进行比较               
3:如果猜数正确,退出程序                          
4:如果猜大了,打印"猜大了,请重新猜",用户继续猜            
5:如果猜小了,打印"猜小了,请重新猜",用户继续猜            
6:一共可以猜6次                              
7:当用户6次都没猜中时,程序结束 ,将用户所猜过的所有结果打印到控制台

7 个回复

倒序浏览
public class CaiShu {

    public static void main(String[] args) {
        Random r = new Random();
        Scanner sc = new Scanner(System.in);
        int num = r.nextInt(100) + 1;
        System.out.println(num+"**");
        ArrayList<Integer> list = new ArrayList<Integer>();
        for (int i = 1; i <= 6; i++) {
            System.out.println("请输入你猜的数(1-100):");
            System.out.println("你还有"+(7-i)+"次机会:");
            int nextInt = sc.nextInt();
            list.add(nextInt);
            if(nextInt==num){
                System.out.println("猜数正确");
                System.out.print("你猜过数为:");
                for (Integer integer : list) {
                    System.out.print(integer+" ");
                }
                return;
            }else if(nextInt>num){
                if(i==6){
                    System.out.println("猜大了,猜数超过6次!GameOver!~");
                    System.out.print("你猜过数为:");
                    for (Integer integer : list) {
                        System.out.print(integer+" ");
                    }
                    return;  
                }else{
                    System.out.println("猜大了,请重新猜");
                }
               
            }else if(nextInt<num){
                if(i==6){
                    System.out.println("猜小了,猜数超过6次!GameOver!~");
                    System.out.print("你猜过数为:");
                    for (Integer integer : list) {
                        System.out.print(integer+" ");
                    }
                    return;  
                }else{
                    System.out.println("猜小了,请重新猜");
                }
            }
        }
        
    }
}
回复 使用道具 举报
// 设置随机数
                Random r = new Random();
                int num = r.nextInt(100) + 1;
                // 创建键盘录入对象
                Scanner sc = new Scanner(System.in);
                // 定义数组存放所猜数
                List<Integer> list = new ArrayList<>();
                // 定义计数器,6次退出
                int count = 0;
                // 设置循环
                while (true) {
                        System.out.println("请输入您所猜的数:");
                        // 输入所猜数
                        int in = sc.nextInt();
                        // 进行比较
                        if (num == in) {
                                list.add(in);
                                System.out.println("您猜对了!");
                                System.exit(0);
                        } else if (num > in) {
                                list.add(in);
                                System.out.println("猜小了,请重新猜");
                                count++;
                        } else if (num < in) {
                                list.add(in);
                                System.out.println("猜大了,请重新猜");
                                count++;
                        }
                        // 退出并打印
                        if (count == 6) {
                                for (Integer i : list) {
                                        System.out.println(i);
                                }
                                System.exit(0);
                        }

                }
回复 使用道具 举报
2017年1月17日23:33:06
回复 使用道具 举报
[Java] 纯文本查看 复制代码
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;


public class GuessNum {

        private int tarNum;
        private int lowRndLimit=1;
        private int highRndLimit=100;
        private int tryTimesLimit;
        private int tryTimes=0;
        private ArrayList<Integer> list = new ArrayList();
        
        public GuessNum(int tryTimesLimit){
                this.initTarNum();
                this.tryTimesLimit=tryTimesLimit;
        }
        
        //创建随机数
        public void initTarNum(){
                Random r = new Random();
                tarNum = r.nextInt(highRndLimit-lowRndLimit+1)+lowRndLimit;
        }
        
        //判断猜测结果
        public void guess(int scrNum){
                list.add(scrNum);
                tryTimes++;
                if(scrNum==tarNum){
                        System.out.println("猜中");
                        System.exit(0);
                }else if(scrNum>tarNum){
                        System.out.println("猜大了,请重新猜");
                }else{
                        System.out.println("猜小了,请重新猜");
                }
        }
        
        //判断是否还有猜测机会
        public boolean hasChance(){
                return tryTimesLimit!=tryTimes;
        }
        
        //打印猜测过程
        public void printGuessHistory() {
        for (Integer integer : list) {
            System.out.print(integer+" ");
        }
        }
        
        public static void main(String[] args) {
                GuessNum gn = new GuessNum(6);
                int scrNum;
                Scanner sc = new Scanner(System.in);
                while (gn.hasChance()){
                        System.out.println("输入猜测数字:");
                        scrNum = sc.nextInt();
                        gn.guess(scrNum);
                }
                gn.printGuessHistory();
        }
}
回复 使用道具 举报
[Java] 纯文本查看 复制代码
package com.itheima;

import java.util.Random;
import java.util.Scanner;

public class Test1 {
	/*
	 * 生成一个1-100的随机数                          
		2:用户键盘录入一个数字 ,与该随机数进行比较                
		3:如果猜数正确,退出程序                          
		4:如果猜大了,打印"猜大了,请重新猜",用户继续猜             
		5:如果猜小了,打印"猜小了,请重新猜",用户继续猜             
		6:一共可以猜6次                              
		7:当用户6次都没猜中时,程序结束 ,将用户所猜过的所有结果打印到控制台 
	 */
	public static void main(String[] args) {
		Random ra=new Random();
		int num=(ra.nextInt(100)+1);
		System.out.println(num);
		Scanner sc=new Scanner(System.in);
		int count=6;
		System.out.println("请输入数字:");
		int[] allNum=new int[6];
		while(true){
			System.out.println("您还有"+count+"次机会");
			int x=sc.nextInt();
			allNum[(6-count)]=x;
			count--;
			if(x>num){
				System.out.println("猜大了,请重新猜");
			}else if(x<num){
				System.out.println("猜小了,请重新猜");
			}else{
				System.out.println("Bingo,Game Over");
				break;
			}
			if(count==0)
				break;
		}
		System.out.print("猜过的数为:");
		for(int i=0;i<allNum.length;i++)
		System.out.print(allNum[i]+"\t");
	}

}
回复 使用道具 举报
好多大神啊
回复 使用道具 举报
public class Game {

    public static void main(String[] args) {
        Random r = new Random();
        Scanner sc = new Scanner(System.in);
        int num = r.nextInt(100) + 1;
        System.out.println(num+"**");
        ArrayList<Integer> list = new ArrayList<Integer>();
        for (int i = 1; i <= 6; i++) {
            System.out.println("请输入你猜的数(1-100):");
            System.out.println("你还有"+(7-i)+"次机会:");
            int nextInt = sc.nextInt();
            list.add(nextInt);
            if(nextInt==num){
                System.out.println("猜数正确");
                System.out.print("你猜过数为:");
                for (Integer integer : list) {
                    System.out.print(integer+" ");
                }
                return;
            }else if(nextInt>num){
                if(i==6){
                    System.out.println("猜大了,猜数超过6次!GameOver!~");
                    System.out.print("你猜过数为:");
                    for (Integer integer : list) {
                        System.out.print(integer+" ");
                    }
                    return;  
                }else{
                    System.out.println("猜大了,请重新猜");
                }
               
            }else if(nextInt<num){
                if(i==6){
                    System.out.println("猜小了,猜数超过6次!GameOver!~");
                    System.out.print("你猜过数为:");
                    for (Integer integer : list) {
                        System.out.print(integer+" ");
                    }
                    return;  
                }else{
                    System.out.println("猜小了,请重新猜");
                }
            }
        }
        
    }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马