这是一个跟输入/输出流有关的面试题。下面我们来分析怎么实现该功能。
解析:在java中没有像C语言那样有一个专供接收从键盘输入值的scanf函数,所以一般的做法是从键盘输入一行字符,保存到字符串s中,再将字符组成的字符串s转换为整型数据返回。
代码如下:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /** * 定义从键盘输入数据的类 */ class InputData{ static private String s=""; static public void input(){ //从键盘输入一行字符保存到字符串s中 BufferedReader bu=new BufferedReader(new InputStreamReader(System.in)); try{ s=bu.readLine(); }catch(IOException e){ e.printStackTrace(); } } static public int getInt(){ //静态方法可直接用类名调用 input(); //将字符组成的字符串s转换为整数型后返回 return Integer.parseInt(s); } } class Result{ void print(int d){ System.out.println(d+"的平方:"+d*d); System.out.println(d+"的立方:"+d*d*d); } } public class PrintResult { public static void main(String[] args) { Result result=new Result(); System.out.println("请输入一个整数:"); int a=InputData.getInt(); result.print(a); } }结果如图: