我还是一个初学者,请教一下,我这个程序编译通过了,怎么run的时候输入一个数字后没有反应?
各位前辈指点一下啊!
程序的目的是:设置一个数字(我这时设置的是60),然后通过键盘输入数进行匹配,直到输入正确的数字
public interface TestNum{
public abstract int input();
public abstract void setNum(int num);
public abstract void output(String s);
public abstract void action();}
import java.util.Scanner;
public class TestNum1 implements TestNum{
int num;
public void setNum(int num){
this.num = num;
}
Scanner s = new Scanner(System.in);
public int input(){
System.out.println("请输入一个 1~100 以内的整数:");
return s.nextInt();
}
public void output(String s){}
public void action(){
int num2 = input();
do{
if(num2<num){
output("你输入的数值过小!");
}else if(num2>num){
output("你输入的数值过大!");
}else{
output("恭喜你猜对了数字!!!");
}
}while( num2 != num );
}
}
public class TestNum2{
public static void main(String[] args){
TestNum t = new TestNum1();
t.setNum(60);
t.action();
}
}
各位前辈指点一下啊!
程序的目的是:设置一个数字(我这时设置的是60),然后通过键盘输入数进行匹配,直到输入正确的数字
public interface TestNum{
public abstract int input();
public abstract void setNum(int num);
public abstract void output(String s);
public abstract void action();}
import java.util.Scanner;
public class TestNum1 implements TestNum{
int num;
public void setNum(int num){
this.num = num;
}
Scanner s = new Scanner(System.in);
public int input(){
System.out.println("请输入一个 1~100 以内的整数:");
return s.nextInt();
}
public void output(String s){}
public void action(){
int num2 = input();
do{
if(num2<num){
output("你输入的数值过小!");
}else if(num2>num){
output("你输入的数值过大!");
}else{
output("恭喜你猜对了数字!!!");
}
}while( num2 != num );
}
}
public class TestNum2{
public static void main(String[] args){
TestNum t = new TestNum1();
t.setNum(60);
t.action();
}
}
public void setNum(int num); public void output(String s); public void action();
}class TestNum2 implements TestNum { int num; public void setNum(int num) {
this.num = num;
} public void output(String s) {
System.out.println(s);
} public void action() {
int num2;
Scanner s = new Scanner(System.in);
System.out.println("请输入一个 1~100 以内的整数:");
do {
num2 = s.nextInt();
if (num2 < num) {
output("你输入的数值过小!");
} else if (num2 > num) {
output("你输入的数值过大!");
} else {
output("恭喜你猜对了数字!!!");
}
} while (num2 != num);
}
}public class binary_int_trans {
public static void main(String[] args) {
TestNum2 t = new TestNum2();
t.setNum(60);
t.action();
}
}你的代码有些乱,给你稍稍修改了下,以后写多了就好了
output("你输入的数值过小!");
}else if(num2>num){
output("你输入的数值过大!");
}else{
output("恭喜你猜对了数字!!!");
}
改成if(num2 <num){
output("你输入的数值过小!");
}else{
if(num2>num){
output("你输入的数值过大!");
}else{
output("恭喜你猜对了数字!!!");
}
}
}方法里边没有写
System.out.println(s);
当然不能显示信息啦