20155323课堂实践20170524

20155323课堂实践20170524

在IDEA中或命令行中运行P187 Guess.java。

提交测试代码和运行结果截图,加上学号水印,提交码云代码链接。

实验代码:

	public abstract class GuessGame {
	    public void go(){
	        int number=(int)(Math.random()*10);
	        int guess;
	        do{
	            print("输入数字:");
	            guess=nextInt();
	        }while(guess!=number);
	        println("猜中了");
	    }
	    public void println(String text){
	        print(text+"\n");
	    }
	    public abstract void print(String text);
	    public abstract int nextInt();
	}
	import java.util.Scanner;
	public class ConsoleGame extends GuessGame {
	    private Scanner s=new Scanner(System.in);
	
	    @Override
	    public void print(String text){
	        System.out.print(text);
	    }
	    @Override
	    public void println(String text){
	        System.out.println(text);
	    }
	    @Override
	    public int nextInt(){
	        return s.nextInt();
	    }
	}
	public class Guess {
	    public static void main(String[] args) {
	        GuessGame game = new ConsoleGame();
	        game.go();
	    }
	}

运行截图:

遇到的问题

这道题用的全是课本上的原代码,还是由于之前电脑里的代码删除了,所以上课时来不及打,留到了课下才提交。要先建立GuessGameConsoleGame两个类,再编写Guess类才能运行Guess类,这里运用到了继承的知识点。GuessGame只产生一个伪随机数,ConsoleGame类是在猜数失败的情况下再重新产生一个随机数,最后Guess类调用了子类和父类,完成了一个完整的猜数程序。

码云链接

posted @ 2017-06-01 09:48  刘威良  阅读(99)  评论(3编辑  收藏  举报