用java语言编写程序
输入10个数,将其中最大的数与最后一个互换,最小的数与第一个的互换。写3个自定义函数:输入10个数,进行处理,输出10个数。...
输入10个数,将其中最大的数与最后一个互换,最小的数与第一个的互换。写3个自定义函数:输入10个数,进行处理,输出10个数。
展开
展开全部
//我只能写出这样的来了,实在无能为力,不能重复的十个数字,看着就很麻烦。。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
public class Test3 {
//main method
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("请输入十个不同的数值");
int[] m =new int[10];
List<Integer> list = new ArrayList<Integer>();
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
for(int i=0;i<m.length;i++){
int temp = in.nextInt();
m[i] = temp;
if(map.containsKey(temp)){
System.out.println("请输入不同的数字");
}else{
map.put(temp, i);
System.out.println(temp+"==="+i);
list.add(temp);
}
}
int max = getMaxNum(list);
int min = getMinNum(list);
int pos1 = (Integer)map.get(max);
int pos2 = (Integer)map.get(min);
m = changePosition(m, max, pos1, m.length-1);
m = changePosition(m, min, pos2, 0);
for(int n : m){
System.out.print(n+"-");
}
}
//得到List<Integer>中的最大值
public static Integer getMaxNum(List list){
Collections.sort(list);
return (Integer)list.get(list.size()-1);
}
//得到List<Integer>中的最小值
public static Integer getMinNum(List list){
Collections.sort(list);
return (Integer)list.get(0);
}
//数组M中的某位置的数字与另一个位置的交换
public static int[] changePosition(int[] m,int num,int pos,int src){
int temp = m[src];
m[src] = num;
m[pos] = temp;
return m;
}
}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
public class Test3 {
//main method
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("请输入十个不同的数值");
int[] m =new int[10];
List<Integer> list = new ArrayList<Integer>();
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
for(int i=0;i<m.length;i++){
int temp = in.nextInt();
m[i] = temp;
if(map.containsKey(temp)){
System.out.println("请输入不同的数字");
}else{
map.put(temp, i);
System.out.println(temp+"==="+i);
list.add(temp);
}
}
int max = getMaxNum(list);
int min = getMinNum(list);
int pos1 = (Integer)map.get(max);
int pos2 = (Integer)map.get(min);
m = changePosition(m, max, pos1, m.length-1);
m = changePosition(m, min, pos2, 0);
for(int n : m){
System.out.print(n+"-");
}
}
//得到List<Integer>中的最大值
public static Integer getMaxNum(List list){
Collections.sort(list);
return (Integer)list.get(list.size()-1);
}
//得到List<Integer>中的最小值
public static Integer getMinNum(List list){
Collections.sort(list);
return (Integer)list.get(0);
}
//数组M中的某位置的数字与另一个位置的交换
public static int[] changePosition(int[] m,int num,int pos,int src){
int temp = m[src];
m[src] = num;
m[pos] = temp;
return m;
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询