2、编程实现:从键盘输入任意多个整数(以输入任意英文字符结束输入

2、编程实现:从键盘输入任意多个整数(以输入任意英文字符结束输入),输出第三大的整数。... 2、编程实现:从键盘输入任意多个整数(以输入任意英文字符结束输入),输出第三大的整数。 展开
 我来答
天之鹰1986
2016-10-25 · TA获得超过278个赞
知道小有建树答主
回答量:727
采纳率:75%
帮助的人:239万
展开全部
下面两个你看一下那个是你需要的。
package playgame;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class GetMaxNum {
public static void main(String[] args) {
getNum();
}
方法1:是把所有输入的内容当做一个字符串,去除该字符串中的数字放到数组中找结果
public static void getMax(){
System.out.println("请输入数列,每个元素之间以“ , ” 分割,输入任意字母结束");
Scanner sc=new Scanner(System.in);
String str1=sc.next();
str1=str1.substring(0, str1.length()-1);
String arr[]=str1.split(","); // 将该 字符串以 (,)分割,并将数据放入数组中。
int arr1[]=new int[arr.length];
for(int i=0;i<arr.length;i++){
arr1[i]=Integer.valueOf(arr[i]);
}
Arrays.sort(arr1);
System.out.println("第三大的数字为:"+arr1[arr1.length-3]);
sc.close();
}
方法2:
public static void getNum(){
System.out.println("输入一串整数:(输入任意字母结束)");
Scanner sc=new Scanner(System.in);
String str=sc.next();
List<Integer> list=new ArrayList<Integer>();
list.add(Integer.valueOf(str));
String str1="[a-zA-Z]";
while(true){
Scanner sc1=new Scanner(System.in);
str=sc1.next();
if(str.matches(str1)){
break;
}
list.add(Integer.valueOf(str));
}
int arr[]=new int[list.size()];
for(int i=0;i<list.size();i++){
arr[i]=list.get(i);
}
Arrays.sort(arr);
sc.close();
System.out.println("第三大的数为:"+arr[arr.length-3]);
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式