这是一个跟输入/输出流有关的面试题。下面我们来分析怎么实现该功能。
解析:在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);
}
}结果如图: