输入一批整数,输出其中的最大值和最小值,输入数字0结束循环。
如图:
请输入一个整数(输入0结束):56
请输入一个整数(输入0结束):23
请输入一个整数(输入0结束):67
请输入一个整数(输入0结束):89
请输入一个整数(输入0结束):6
请输入一个整数(输入0结束):0
最大值是:89 最小值是:6
求用while,do-while,for循环求解?
如图:
请输入一个整数(输入0结束):56
请输入一个整数(输入0结束):23
请输入一个整数(输入0结束):67
请输入一个整数(输入0结束):89
请输入一个整数(输入0结束):6
请输入一个整数(输入0结束):0
最大值是:89 最小值是:6
求用while,do-while,for循环求解?
List<Integer> list = new ArrayList<Integer>();
//while
while (true)
{
System.out.print("请输入一个整数(输入0结束):");
int a = scanner.nextInt();
if (a == 0)
{
break;
}
list.add(a);
}
// do-while
do
{
System.out.print("请输入一个整数(输入0结束):");
int a = scanner.nextInt();
if (a == 0)
{
break;
}
list.add(a);
} while (true);
//for
for (;;)
{
System.out.print("请输入一个整数(输入0结束):");
int a = scanner.nextInt();
if (a == 0)
{
break;
}
list.add(a);
}
Collections.sort(list);
System.out.println("最大值是:" + list.get(list.size() - 1) + " 最小值是: "
+ list.get(0));
public class NewClass
{
public static Scanner in;
public static int max,min;
public static int count; //计数,用于设置最大值和最小值的初值
public static void forCall()
{
System.out.print("请输入一个整数(输入0结束):");
count=1;
int i=in.nextInt();
if(i==0) //首次输入数字0,输出错误信息
System.err.println("没有任何数值输入。");
for(;i!=0;)
{
if(count==1)
{
max=i;
min=i;
}
else
if (max<i)
max=i;
else
if(min>i)
min=i;
count++;
System.out.print("请输入一个整数(输入0结束):");
i=in.nextInt();
}
}
public static void whileCall()
{
System.out.print("请输入一个整数(输入0结束):");
count=1;
int i=in.nextInt();
if(i==0) //首次输入数字0,输出错误信息
System.err.println("没有任何数值输入。");
while(i!=0)
{
if(count==1)
{
max=i;
min=i;
}
else
if (max<i)
max=i;
else
if(min>i)
min=i;
count++;
System.out.print("请输入一个整数(输入0结束):");
i=in.nextInt();
}
}
public static void doWhileCall()
{
System.out.print("请输入一个整数(输入0结束):");
count=1;
int i=in.nextInt();
if(i==0) //首次输入数字0,输出错误信息
System.err.println("没有任何数值输入。");
do
{
if(count==1)
{
max=i;
min=i;
}
else
if (max<i)
max=i;
else
if(min>i)
min=i;
count++;
System.out.print("请输入一个整数(输入0结束):");
i=in.nextInt();
}while(i!=0);
}
public static void main(String[] args)
{
in=new Scanner(System.in);
// forCall();
// whileCall();
doWhileCall();
System.out.println("最大值是:"+max+" 最小值是:"+min);
}
}已经调试通过。
/**
*
* @author Administrator
*/
public class NewClass
{
public static Scanner in;
public static int max,min;
public static int count; //计数,用于设置最大值和最小值的初值
public static void forCall()
{
System.out.print("请输入一个整数(输入0结束):");
count=1;
int i=in.nextInt();
if(i==0) //首次输入数字0,输出错误信息
System.err.println("没有任何数值输入。");
for(;i!=0;)
{
if(count==1)
{
max=i;
min=i;
}
else
if (max<i)
max=i;
else
if(min>i)
min=i;
count++;
System.out.print("请输入一个整数(输入0结束):");
i=in.nextInt();
}
}
public static void whileCall()
{
System.out.print("请输入一个整数(输入0结束):");
count=1;
int i=in.nextInt();
if(i==0) //首次输入数字0,输出错误信息
System.err.println("没有任何数值输入。");
while(i!=0)
{
if(count==1)
{
max=i;
min=i;
}
else
if (max<i)
max=i;
else
if(min>i)
min=i;
count++;
System.out.print("请输入一个整数(输入0结束):");
i=in.nextInt();
}
}
public static void doWhileCall()
{
System.out.print("请输入一个整数(输入0结束):");
count=1;
int i=in.nextInt();
if(i==0) //首次输入数字0,输出错误信息
System.err.println("没有任何数值输入。");
do
{
if(count==1)
{
max=i;
min=i;
}
else
if (max<i)
max=i;
else
if(min>i)
min=i;
count++;
System.out.print("请输入一个整数(输入0结束):");
i=in.nextInt();
}while(i!=0);
}
public static void main(String[] args)
{
in=new Scanner(System.in);
// forCall();
// whileCall();
doWhileCall();
System.out.println("最大值是:"+max+" 最小值是:"+min);
}
}
这样有格式了吗?
import java.util.*;
import java.io.*;
public class Test {
public static void main(String args[]) {
System.out.print("请输入一个整数(输入0结束):");
Scanner scanner = new Scanner(System.in);
int b=scanner.nextInt();
int big=b, small=b;
while(b!=0){
if(b<small) small=b;
if(b>big) big=b;
System.out.print("请输入一个整数(输入0结束):");
b= scanner.nextInt();
}
System.out.println("big == "+big);
System.out.println("small == "+small);
}
}
最后两行改成这。
System.out.print("最大值是:"+big);
System.out.print(" 最小值是:"+small);print的意思是不用自动加换行符。
Scanner scanner = new Scanner(System.in);
Map maxValue = new HashMap();
Map minValue = new HashMap();
//while
while (true)
{
System.out.print("请输入一个整数(输入0结束):");
int a = scanner.nextInt();
if (a == 0)
{
break;
}
if(maxValue.isEmpty()){
maxValue.put("maxValue",a);
}else{
int temp = maxVale.get("maxValue");
if(temp<a>{
maxValue.put("maxValue",a);
}
}
if(minValue.isEmpty()){
minValue.put("minValue",a);
}else{
int temp = minVale.get("minValue");
if(temp>a>{
maxValue.put("minValue",a);
}
} }
}
System.out.println("最大值为: " + maxValue.get("maxValue"));
System.out.println("最小值为: " + minValue.get("minValue"));
}
import java.util.Scanner;
public class Test2
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数(输入0结束)");
int flag = scanner.nextInt();
int max = flag, min = flag;
while(flag!=0)
{
System.out.println("请输入一个整数(输入0结束)");
flag = scanner.nextInt();
if(max<flag)
{
max=flag;
}
if (min>flag&&flag!=0)
{
min=flag;
}
}
System.out.println("最大值是:"+max+" 最小值是:"+min);
}
}