输入10个整数,放入一个数组中。并找出数组中最大值和最小值,以及他们的下标列表 输入要求 多组数据,每一组一行数据10个大于0的数,之间用空格隔开 输出要求 最大值 最大值下标列表 最小值 最小值下标列表 输入
1 2 3 4 5 1 2 3 4 5
输出
Max:5 at position: 4 9 Min:1 at position: 0 5
代码
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class main { public static void main(String[] args) { Scanner sc =new Scanner(System.in); while(sc.hasNextInt()){ List<Integer> min_list=new ArrayList<>(); List<Integer> max_list=new ArrayList<>(); int [] nums=new int[10]; for(int i=0;i<10;i++) nums[i]=sc.nextInt(); int max=0,min=0; for(int i=1;i<10;i++){ if(nums[i]>nums[max]) max=i; if(nums[i]<nums[min]) min=i; } for(int i=0;i<10;i++){ if(nums[max]==nums[i]) max_list.add(i); if(nums[min]==nums[i]) min_list.add(i); } System.out.print("Max:"+nums[max]+" at position:"); for(int i:max_list){ System.out.print(" "+i); } System.out.println(); System.out.print("Min:"+nums[min]+" at position:"); for(int i:min_list){ System.out.print(" "+i); } } sc.close(); } }给出10个数,请你设计3个方法分别来计算10个值得最小值,最大值,均值,方法如下 1.public static double min(double[] array) 2.public static double max(double[] array) 3.public static double average(double[] array) 输入要求 多组数据,每一组一行数据10个实数,之间用空格隔开 输出要求 先后输出最小值,最大值,平均值,之间用换行隔开,最后有换行! 每个结果统一保留两位小数! 输入
1 2.8 3.6 4 3.5 7 8 4 4 10 10 10 10 10 10 10 10 10 10 10
输出
1.00 10.00 4.79 10.00 10.00 10.00
代码
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class main { public static void main(String[] args) { Scanner sc =new Scanner(System.in); while(sc.hasNextInt()){ List<Integer> min_list=new ArrayList<>(); List<Integer> max_list=new ArrayList<>(); double[] nums=new double[10]; for(int i=0;i<10;i++) nums[i]=sc.nextDouble(); System.out.println(String.format("%.2f", min(nums))); System.out.println(String.format("%.2f", max(nums))); System.out.println(String.format("%.2f", average(nums))); } sc.close(); } public static double min(double[] array){ double min=Double.MAX_VALUE; for(int i=0;i<array.length;i++){ if(array[i]<min) min=array[i]; } return min; } public static double max(double[] array){ double max=Double.MIN_VALUE; for(int i=0;i<array.length;i++){ if(array[i]>max) max=array[i]; } return max; } public static double average(double[] array){ double avg=0; for(int i=0;i<array.length;i++){ avg+=array[i]; } return avg/(array.length*1.0); } }给你一组整数型数字,让你来统计里面每个数字出现的次数) 输入要求 多组数据,每一组数据有n(1<= n <=100)个空格隔开的整数Ni(0<=Ni<=100),当输入0时,表示该组数据输入结束。 输出要求 每一行输出每个数字的出现次数 输入
10 100 100 2 3 1 10 3 7 8 0
输出
1 occurs 1 time 2 occurs 1 time 3 occurs 2 times 7 occurs 1 time 8 occurs 1 time 10 occurs 2 times 100 occurs 2 times
代码
import java.util.*; public class main { public static void main(String[] args) { Scanner sc =new Scanner(System.in); while(sc.hasNextInt()){ int [] res=new int[101]; List<Integer> nums=new ArrayList<>(); for(;;){ int num=sc.nextInt(); if(num==0) break; nums.add(num); } for(int i:nums) res[i]++; for(int i=0;i<=100;i++){ if(res[i]==1) System.out.println(i+" occurs "+res[i]+" time"); else if(res[i]>1) System.out.println(i+" occurs "+res[i]+" times"); else continue; } } sc.close(); } }将数组的元素除第后一个元素外,所有元素后移一位,最后一位元素移动到第一位。 按格式输出源数组(输入的数据)和后移后的数组 参考方法: /* * 最后一名到第一位,其他的都后退一位 * @param a * @return */ public static int[] shiftBackward(int[] a)
/* * 按格式输出一个数组 * @param a 输出的数组 * @param numberOfRow 每行元素个数 * @param spliter 分隔字符 */ public static void printArray(int[] a , int numberOfRow,String spliter )输入要求 多组数据,每一组一行数据10个整数,之间用空格隔开 输出要求 源数组每行输出5个元素,并且以字符#分隔 后一位的数组每行输出4个元素,并且以*分隔 输入
1 2 3 4 5 6 7 8 9 10
输出
1#2#3#4#5 6#7#8#9#10 10123 4567 8*9
代码
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class main { public static void main(String[] args) { Scanner sc =new Scanner(System.in); while(sc.hasNextInt()){ int [] nums=new int[10]; for(int i=0;i<10;i++) nums[i]=sc.nextInt(); printArray(nums,5,"#"); int num=nums[nums.length-1]; for(int i=nums.length-2;i>=0;i--){ nums[i+1]=nums[i]; } nums[0]=num; printArray(nums,4,"*"); } sc.close(); } private static void printArray(int[] nums, int row, String s) { for(int i=0;i<nums.length;i+=row){ for(int j=i;j<nums.length&&j<i+row;j++){ if(j<row+i-1&&j<nums.length-1) System.out.print(nums[j]+s); else{ System.out.println(nums[j]); } } } } }