java编程:输入一批整数,输出其中的最大值和最小值,输入数字0循环结束,要详细解释 菜鸟求解
展开全部
你那个太简单了 给你个稍微复杂点的
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
List<Double> nums = new ArrayList<Double>();
while(true) {
System.out.println("请输入数字(输入0退出):");
String str = input.nextLine();
if(str.equals("0")) {
System.out.println("系统退出!");
System.exit(0);
}
String[] strNums = str.split("[^\\+\\-\\*\\/\\%\\.\\d]+");
for (int i = 0; i < strNums.length; i++) {
if(strNums[i].matches("^-?\\d+\\.?\\d+$")){
nums.add(Double.parseDouble(strNums[i]));
} else if(strNums[i].matches("^-?\\d+\\.?\\d+([\\+\\-\\*\\/\\%]\\d+\\.?\\d+)+$")) {
ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript");
try {
Object newNum = jse.eval(strNums[i]);
nums.add((Double) newNum);
} catch (ScriptException e) {
e.printStackTrace();
}
}
}
Collections.sort(nums);
if(nums.size()!=0){
System.out.println("最小值为"+nums.get(0));
System.out.println("最大值为"+nums.get(nums.size()-1));
nums.clear();
} else {
System.out.println("输入不正确!");
}
}
}
分给我吧
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
List<Double> nums = new ArrayList<Double>();
while(true) {
System.out.println("请输入数字(输入0退出):");
String str = input.nextLine();
if(str.equals("0")) {
System.out.println("系统退出!");
System.exit(0);
}
String[] strNums = str.split("[^\\+\\-\\*\\/\\%\\.\\d]+");
for (int i = 0; i < strNums.length; i++) {
if(strNums[i].matches("^-?\\d+\\.?\\d+$")){
nums.add(Double.parseDouble(strNums[i]));
} else if(strNums[i].matches("^-?\\d+\\.?\\d+([\\+\\-\\*\\/\\%]\\d+\\.?\\d+)+$")) {
ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript");
try {
Object newNum = jse.eval(strNums[i]);
nums.add((Double) newNum);
} catch (ScriptException e) {
e.printStackTrace();
}
}
}
Collections.sort(nums);
if(nums.size()!=0){
System.out.println("最小值为"+nums.get(0));
System.out.println("最大值为"+nums.get(nums.size()-1));
nums.clear();
} else {
System.out.println("输入不正确!");
}
}
}
分给我吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.util.Scanner;
public class MaxAndMin{
public static void main(String[] args)throws Exception {
Scanner scan=new Scanner(System.in);
int k=scan.nextInt();
int max=k,min=k;
while(k!=0){
int kx=scan.nextInt();
if(kx!=0){
min=Math.min(min, kx);
max=Math.max(max, kx);
}
k=kx;
}
System.out.println("最大值:"+max+"最小值:"+min);
}
}
public class MaxAndMin{
public static void main(String[] args)throws Exception {
Scanner scan=new Scanner(System.in);
int k=scan.nextInt();
int max=k,min=k;
while(k!=0){
int kx=scan.nextInt();
if(kx!=0){
min=Math.min(min, kx);
max=Math.max(max, kx);
}
k=kx;
}
System.out.println("最大值:"+max+"最小值:"+min);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |