您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Java數組練習題的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Java數組練習題的示例分析”這篇文章吧。
初級
1.定義一個函數,獲取某個數組中的最小值
package practise; public class GetMin { public static void getMin(int[]num){ int min = num[0]; for(int i=0;i<num.length;i++){ min=(num[i]<min?num[i]:min); } System.*out*.print(min); } public static void main(String[] args){ int []a=new int[]{8,6,4,2,5}; *getMin*(a); } }
2.定義一個數組,數組成員10個,找出數組中最大數連同下標一起輸出
package practise; public class GetmaxIndex { public static void main(String[] args) { int[] n = new int[]{1, 2, 3, 4, 5, 6, 0}; int max = n[0]; int index=0; for (int i = 0; i < n.length;i++){ if(max<n[i]){ max=n[i]; index=i; } } System.*out*.println(max); System.*out*.println(index); } }
3.給定一個整型數組,數組成員10個,求該數組中第二大的數的下標
package practise; import java.util.Arrays; public class TheSecendmax3 { public static void main(String[] args) { int[] num = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}; int[] arr1 = Arrays.*copyOf*(num, num.length); Arrays.*sort*(num); int[] num1 = Arrays.*copyOfRange*(num, 0, 9); System.*out*.println(num1[num1.length-1]); for (int i = 0; i < arr1.length-1; i++) { if (arr1[i] == num1[num1.length-1]) { System.*out*.println("第二大的數的下標為"+i); } } } }
4.B哥去參加青年歌手大獎賽,有10個評委打分,(去掉一個最高一個最低)求平均分?
package practise; import java.util.Arrays; public class AverageScore { public static void main(String[] args){ double[] num=new double[]{99,97,96,95,94,92,91,90,88,100}; Arrays.*sort*(num); double[] NewNum=Arrays.*copyOfRange*(num,1,9); double average=0; double sum=0; for(int I=0;i<NewNum.length;i++){ sum=sum+NewNum[I]; } average=sum/NewNum.length; System.*out*.println(average); } }
5.利用選擇排序對數據進行降序排序
package practise; public class Select_Sort { //原理:在一組數組里面定義一個最大數值的下標,讓int[index]和其它數值挨個比較,選出最大的值int[i], // 并把該最大值的下標i和我們原先設置的index進行置換,即index=i; //并且把他們兩個的位置進行互換,依次類推,直到完全排序好 public static void main(String[] args){ int[] num=new int[]{4,3,1,6,9,5}; *ChooseSort*(num); } public static void ChooseSort(int[] array){ for(int I=0;i<array.length;i++){ Int index=i;//定義當前下標為最小值下標 for(int j=I+1;j<array.length;j++){ if(array[j]<array[index]){//a[I]<a[index] 從下到大排序 index =j; } } int temp = array[index];//交換 array[index] = array[I]; array[I] = temp; } for (int e:array){ System.*out*.print(e+”\t”); } } }
6.定義數組,存放5個學生的成績【成績值自己設定】,將成績從大到小排序,獲得成績之和,平均成績,最小成績,最大成績。
package practise; import java.util.Arrays; public class StudentScore { public static void Sort(double[] num) { Arrays.*sort*(num); double sum=0.0; for (int e=0;e<num.length;e++) { sum=sum+num[e]; } System.*out*.println(“max=“+num[num.length-1]); System.*out*.println(“min=“+num[0]); System.*out*.println(“average=“+sum/num.length); System.*out*.println(“sum=“+sum); } public static void main(String[] agrs){ double[] num=new double[]{99,97,96,95,94,92,91,90,88,100}; *Sort*(num); } }
7.定義一個長度為10的int數組,統計數組中的最大值、最小值、以及奇數和偶數的個數
package practise; import java.util.Arrays; public class TheSeven { public static void main(String[] args){ int[] num= new int[]{99,97,96,95,94,92,91,90,88,100}; Arrays.*sort*(num); int evensum=0; int oddsun=0; for(int I=0;i<num.length;i++){ if(num[I]%2==0){ evensum++; }else if(num[I]%3==0){ oddsun++; } } System.*out*.println(“max=“+num[0]+”,min=“+num[num.length-1]); System.*out*.println(“奇數的個數=“+oddsun+”偶數的個數=“+evensum); } }
8.提取一個方法,將指定數組中的數組元素進行反轉
例如:{10,23,2,45,6}—>{6,45,2,23,10}
package practise; public class BackOverNumberlist { public static void main(String[] args){ int[] array=new int[]{1,2,3,4,5,6,7,8}; *BackOver*(array); } public static void BackOver(int[] array){ for(int i=array.length-1;i>=0;i--){ System.*out*.print(array[i]+" "); } } }
擴展練習
輸出100到1000的水仙花數:
public class LoopTest{ public static void main(String[] args){ int bai = 0; int shi = 0; int ge = 0; for(int i = 100; i < 1000; i++){ bai = i/100; shi = i/10%10; ge = i%10; if(bai*bai*bai+shi*shi*shi+ge*ge*ge == i ){ System.out.println(i); } } } }
打印所有字母:
public class LoopTest{ public static void main(String[] args){ char lower = 'a'; char upper = 'A'; for(int i = 0 ; i < 26 ; i++){ System.out.println(lower+" "+upper); lower++; upper++; } } }
以上是“Java數組練習題的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。