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