用java程序编写从键盘输入n个数,求这n个数的最大数与最小数,并输出结果

如题所述

哈哈,楼上的!估计这位大哥还是初学者,还不知道list怎么用呢
还是用数组吧,自己写一个比较大小的、小弟暂时不忙,就先帮你写一个
public static void main(String[] arg0){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入所需整数的个数!");
int a = scanner.nextInt();
int[] b = new int[a];
for(int i=0;i<a;i++){
System.out.println("请输入第"+(i+1)+"个整数!");
b[i]=scanner.nextInt();
}
//先把你输入的数字都打印一下,用于比较
System.out.println("你所需要比较的数字为:");
for(int i=0;i<a;i++){
System.out.print(b[i]+"\t");
}
//这里开始比较大小了
int min = b[0];
int max = b[0];
for(int i=1;i<a;i++){
if(min>b[i])
min=b[i];
if(max<b[i])
max=b[i];
}
System.out.println("\n你输入的最大数字为:"+max);
System.out.println("你输入的最小数字为:"+min);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-01
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;

public class Test{
public Test{
System.out.println("请输入数字");
// 监控键盘输入流
Scanner c = new Scanner(System.in);
// 集合 -- 用于存放所有输入的字符
List<String> list = new ArrayList<String>();
// 得到键盘输入的
String line = null;
// 是要输入的不是空,也不是bye
while(true){
line = c.next();
// 如果输入是空,或者输入bye则退出输入
if(null == line || "bye".equals(line)
break;
// 存放键盘输入
list.add(line);
System.out.println("请在此输入");
}
// 上一次最大数
int max = Integer.MIN_VALUE;
// 上一次最小数
int min = Integer.MAX_VALUE;
// 循环遍历输入
for(String s : list){
// 如果输入的是数字
if(s.matches("[\\d+]")){
// 如果存放的数字,大于上一次最大数
if(max < Integer.parseInt(s)){
// 那么上一次最大数,则为现在判断的数字
max = Integer.parseInt(s);
}
// 同上
if(min > Integer.parseInt(s)){
min = Integer.parseInt(s);
}
}
System.out.println("你输入的最大数字是:"+max);
System.out.println("你输入的最小数是:"+min);
}
public static void main(){
new Test();
}
}
我这个算法,比冒泡排序简单,也很容易理解,我现在都上班很久了,还是不理解冒泡排序。。。汗
第2个回答  2010-11-01
import java.awt.List;
import java.util.ArrayList;
import java.util.Scanner;

public class maxmin {
public static void main(String argu[]){
Scanner scanner = new Scanner(System.in);
ArrayList list = new ArrayList();
System.out.println("请输入所需输入的整数");
while(scanner.hasNextInt())
{
int a ;
a = scanner.nextInt();
list.add(a);
}
Integer max = (Integer)list.get(0);
Integer min = (Integer)list.get(0);
for (int i = 0; i < list.size(); i++) {
if (min > (Integer)list.get(i)) min = (Integer)list.get(i);
if (max < (Integer)list.get(i)) max = (Integer)list.get(i);
}
System.out.println("max的值为" + max + " min的值为" + min);
}
}

参考资料:自己编写的。

第3个回答  2018-09-28
import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int number , max;
number = input.nextInt();
max = number;
while(number != 0){
number = input.nextInt();
if(number > max)
max = number;
}
System.out.println("max is " + max);
}
}
第4个回答  2010-11-05
int[] a=new int[]{3,1,8,2,5,4,7,-1,10,1,2};
int b;
for (int i = 0; i < a.length; i++) {
for(int j=1;j<a.length-1;j++){
if(i+j<a.length){
if(a[i]<a[i+j])
{
b=a[i];
a[i]=a[i+j];
a[i+j]=b;
}
}
}
if(i==0){
System.out.println(a[0]);
}
if(i==a.length-1){
System.out.println(a[a.length-1]);
}
}
绝对正确 马上采纳
相似回答