当前位置: 代码迷 >> Java面试 >> 解决一个简略的JAVA面试题
  详细解决方案

解决一个简略的JAVA面试题

热度:5505   发布时间:2013-02-25 21:25:58.0
解决一个简单的JAVA面试题。

题目是:编写应用程序,用字符界面接受用户10个数字输入,输出这10个整数的最大值和最小值。

程序如下:

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class TestOutput {	public static void main(String[] args) {		int dataArray [] = new int [10];		int maxData = 0,minData = 0;		try{			InputStreamReader stdin = new InputStreamReader(System.in);			BufferedReader bufferin = new BufferedReader(stdin);			for (int i = 0; i < dataArray.length; i++) {				System.out.print("请输入第"+ (i+1) + "个数:");				dataArray[i] = Integer.valueOf(bufferin.readLine()).intValue();			}			maxData = minData = dataArray[0];			for (int i = 1; i < dataArray.length; i++) {				if(maxData < dataArray[i]){					maxData = dataArray[i];				}				if(minData > dataArray[i]){					minData = dataArray[i];				}			}			System.out.println("最大值是:" + maxData);			System.out.println("最小值是:" + minData);		}catch(IOException ioe){			ioe.printStackTrace();		}	}}

?

1 楼 greatghoul 2011-02-15  
我觉得你完全可以在输入那层循环里面就把事儿办完。
2 楼 bo_hai 2011-02-15  
这个主意不错!我会改进的。
3 楼 bo_hai 2011-02-15  
改进后的代码是:


    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    public class TestOutput {

    public static void main(String[] args) {
    int dataArray [] = new int [10];
    int maxData = Integer.MIN_VALUE,minData = Integer.MAX_VALUE;
    int temp = 0;
    try{
    InputStreamReader stdin = new InputStreamReader(System.in);
    BufferedReader bufferin = new BufferedReader(stdin);
    for (int i = 0; i < dataArray.length; i++) {
    System.out.print("请输入第"+ (i+1) + "个数:");
    temp = Integer.valueOf(bufferin.readLine()).intValue();
    if(maxData < temp){
    maxData = temp;
    }
    if(minData > temp){
    minData = temp;
    }
    }
    System.out.println("最大值是:" + maxData);
    System.out.println("最小值是:" + minData);
    }catch(IOException ioe){
    ioe.printStackTrace();
    }
    }
    }
  相关解决方案