我还是一个初学者,请教一下,我这个程序编译通过了,怎么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();
}
}

解决方案 »

  1.   

    package com.tianlesoftware.basejava;import java.util.Scanner;interface TestNum {
    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();
    }
    }你的代码有些乱,给你稍稍修改了下,以后写多了就好了
      

  2.   

    if(num2 <num){ 
      output("你输入的数值过小!"); 
      }else if(num2>num){ 
      output("你输入的数值过大!"); 
      }else{ 
      output("恭喜你猜对了数字!!!"); 
      } 
    改成if(num2 <num){
     
      output("你输入的数值过小!"); 
      }else{
           if(num2>num){ 
           output("你输入的数值过大!"); 
           }else{ 
      output("恭喜你猜对了数字!!!"); 
      } 
     }
      

  3.   

     public void output(String s) {
      }方法里边没有写
    System.out.println(s);
    当然不能显示信息啦