陣列專題——練習題:
1、請將1,9,2,5,4,8,3,6,7,10,8存入陣列a,然后輸出列印;
/*
*@author MingxuDeng
*@version 20202020年10月25日
note : 1、請將1,9,2,5,4,8,3,6,7,10,8存入陣列a,然后輸出列印;
*/
public class Demoarr01 {
public static void main(String[] args) {
int[] a= {1,9,2,5,4,8,3,6,7,10,8};
for(int i =0;i<a.length;i++) {
System.out.print(a[i]+" ");//1 9 2 5 4 8 3 6 7 10 8
}
}
}
2、將陣列a中的數字進行從小到大和從大到小排序輸出,分別列印;
/*
*@author MingxuDeng
*@version 20202020年10月25日
note : 2、將陣列a中的數字進行從小到大和從大到小排序輸出,分別列印;
*/
import java.util.Arrays;
public class Demoarr02 {
public static void main(String[] args) {
int[] a = {1,9,2,5,4,8,3,6,7,10,8};
Arrays.sort(a);//集合自帶的排序方法,把陣列a作為引數,可以得到排序后的陣列a
for(int i =0;i<a.length;i++) {
System.out.print(a[i]+" ");//1 2 3 4 5 6 7 8 8 9 10
}
}
}
3、查找陣列a中的最大值、最小值,并列印輸出它們的下標位置;
/*
*@author MingxuDeng
*@version 20202020年10月25日
note : 3、查找陣列a中的最大值、最小值,并列印輸出它們的下標位置;
*/
public class DemoArr03 {
public static void main(String[] args) {
int[] a = {1,9,2,5,4,8,3,6,7,10,8};
int max,min,fa=0,fi=0;
max=a[0];min=a[0];
for(int i=0;i<a.length;i++) {
if(a[i]>=max) {
max=a[i];
fa=i;
}else if(a[i]<=min) {
min=a[i];
fi=i;
}
}
System.out.println(" max: "+max+" 其下標為: "+fa);// max: 10 其下標為: 9
System.out.println(" min: "+min+" 其下標為: "+fi);// min: 1 其下標為: 0
}
}
4、定義一個陣列來存盤12個學生的成績{72,89,65,58,87,91,53,82,71,93,76,68},計算并輸出學生的平均成績,(保留小數點后兩位,)
/*
*@author MingxuDeng
*@version 20202020年10月25日
note : 4、定義一個陣列來存盤12個學生的成績{72,89,65,58,87,91,53,82,71,93,76,68},計算并輸出學生的平均成績,
*/
public class DemoArr04 {
public static void main(String[] args) {
// TODO 自動生成的方法存根
int[]b= {72,89,65,58,87,91,53,82,71,93,76,68};
int sum=0;
for (int i = 0; i < b.length; i++) {
sum+=b[i];
}
System.out.printf("%.2f",(double)sum/b.length);//75.42
}
}
5、統計陣列{20,45,78,34,16,3,99,56}中大于50的有多少個、小于50的有多少個并列印輸出,
/*
*@author MingxuDeng
*@version 20202020年10月25日
note : 5、統計陣列{20,45,78,34,16,3,99,56}中大于50的有多少個、小于50的有多少個并列印輸出,
*/
public class DemoArr05 {
public static void main(String[] args) {
// TODO 自動生成的方法存根
int[]c={20,45,78,34,16,3,99,56};
int DA=0,XI=0;
for(int i=0;i<c.length;i++) {
if(c[i]>50) {
DA++;
}else if(c[i]<50) {
XI++;
}
}
System.out.println("陣列{20,45,78,34,16,3,99,56}中,大于50的數有:"+DA+"個,小于50的數有:"+XI+"個,");//陣列{20,45,78,34,16,3,99,56}中,大于50的數有:3個,小于50的數有:5個,
}
}
6、在陣列{4,5,6,2,3,1,9,8,7,10,12,14,15}中查找元素(先列印輸出所有元素,輸入一個數,如果找到了則列印輸出其位置,沒有找到則提示沒有找到)
/*
*@author MingxuDeng
*@version 20202020年10月25日
note :
6、在陣列{4,5,6,2,3,1,9,8,7,10,12,14,15}中查找元素
(先列印輸出所有元素,輸入一個數,如果找到了則列印輸出其位置,沒有找到則提示沒有找到)
*/
import java.util.Scanner;
public class DemoArr06 {
public static void main(String[] args) {
// TODO 自動生成的方法存根
int[]d={4,5,6,2,3,1,9,8,7,10,12,14,15};
int m=d.length;
System.out.println(" 列印輸出陣列:");
System.out.print(" ");
for (int i = 0; i < d.length; i++) {
System.out.print(d[i]+" ");
}
System.out.println();
System.out.println("請輸入需要查詢的數:");
Scanner s=new Scanner(System.in);
int n=s.nextInt();
for (int i = 0; i < d.length; i++) {
m--;
if(d[i]==n) {
System.out.println(n+"的位置是:"+i);
break;
}
}
if( m==0){
System.out.println("找不到 !");
}
//方法二
for(int i=0;i<d.length;i++) {
System.out.println(d[i]);
}
int j=0;
for(int i=0;i<d.length;i++){
if(d[i]==50) {
j=i+1;System.out.println("該數為第"+j+"個數");
}else if (i==d.length-1){
System.out.println("找不到");
}
}
}
}
7、定義一個陣列來存盤12個學生的成績{72,89,65,58,87,91,53,82,71,93,76,68},統計各成績等級(90分以上為‘A’,8089分為‘B’,7079分為‘C’,60~69分為‘D’,60分以下為E)學生人數,并將其放入到陣列count中,其中:count[0]存E級的人數,count[1]存D級的人數,……,count[4]存A級的人數,
//90以上 count[4]++
//80~89 count[3]++
//70~79 count[2]++
//60~69 count[1]++
//60以下 count[0]++
/*
*@author MingxuDeng
*@version 20202020年10月25日
note :
* 7、定義一個陣列來存盤12個學生的成績{72,89,65,58,87,91,53,82,71,93,76,68},
* 統計各成績等級(90分以上為‘A’,80~89分為‘B’,70~79分為‘C’,60~69分為‘D’,60分以下為E)學生人數,
* 并將其放入到陣列count中,
* 其中:
* count[0]存E級的人數,
* count[1]存D級的人數,
* ……,
* count[4]存A級的人數,
*
*
* //90以上 count[4]++
* //80~89 count[3]++
* //70~79 count[2]++
* //60~69 count[1]++
* //60以下 count[0]++
*/
public class DemoArr07 {
public static void main(String[] args) {
// 方法一
int[]e={72,89,65,58,87,91,53,82,71,93,76,68};
int A=0,B=0,C=0,D=0,E=0;
int[]count0=new int[e.length];
int[]count1=new int[e.length];
int[]count2=new int[e.length];
int[]count3=new int[e.length];
int[]count4=new int[e.length];
for (int i = 0; i < e.length; i++) {
int n=e[i];
if(n>=90) {
count4[A]=n;
A++;
}else if(n<90&&n>=80) {
count3[B]=n;
B++;
}else if(n<80&&n>=70) {
count2[C]=n;
C++;
}else if(n<70&&n>=60) {
count1[D]=n;
D++;
}else {
count0[E]=n;
E++;
}
}
System.out.print ("等級為A的學生人數為:"+A);
System.out.print(" count4: ");
for(int i=0;i<A;i++) {
System.out.print(count4[i]+" ");//等級為A的學生人數為:2 count4: 91 93
}System.out.println();
System.out.print ("等級為B的學生人數為:"+B);
System.out.print(" count3: ");
for(int i=0;i<B;i++) {
System.out.print( count3[i]+" ");//等級為B的學生人數為:3 count3: 89 87 82
}System.out.println();
System.out.print ("等級為C的學生人數為:"+C);
System.out.print(" count2: ");
for(int i=0;i<C;i++) {
System.out.print( count2[i]+" ");//等級為C的學生人數為:3 count2: 72 71 76
}System.out.println();
System.out.print ("等級為D的學生人數為:"+D);
System.out.print(" count1: ");
for(int i=0;i<D;i++) {
System.out.print( count1[i]+" ");//等級為D的學生人數為:2 count1: 65 68
}System.out.println();
System.out.print ("等級為E的學生人數為:"+E);
System.out.print(" count0: ");
for(int i=0;i<E;i++) {
System.out.print( count0[i]+" ");//等級為E的學生人數為:2 count0: 58 53
}
//方法二
int[] arr = {72,89,65,58,87,91,53,82,71,93,76,68};
int [] count=new int[5];
for(int i=0;i<arr.length;i++) {
if(arr[i]>=90) {count[0]++;}
else if(arr[i]>=80) {count[1]++;}
else if(arr[i]>=70) {count[2]++;}
else if(arr[i]>=60) {count[3]++;}
else if(arr[i]<60) {count[4]++;}
}
System.out.println("A等級\t"+"B等級\t"+"C等級\t"+"D等級\t"+"E等級\t");
for(int i=0;i<count.length;i++) {System.out.print(""+count[i]+"\t");}
}
}
8、從鍵盤輸入8個整數存放在一個陣列中,然后將奇數和偶數分別存入到兩個不同的陣列中,并按奇數、偶數交替的順序輸出這兩個陣列中的所有資料(先交替輸出,如果奇數個數多,則再輸出剩下的奇數,如果偶數個數多,則再輸出剩下的偶數),(提示與要求:(1)定義一個陣列存盤從鍵盤輸入的8個整數,先判斷這8個整數中奇數和偶數的個數,才能定義存盤奇數和偶數的陣列的長度;(2)把一個大的陣列分別存放在奇數和偶數陣列中并交替輸出的程序定義為方法)
/*
*@author MingxuDeng
*@version 20202020年10月25日
note :
8、從鍵盤輸入8個整數存放在一個陣列中,然后將奇數和偶數分別存入到兩個不同的陣列中,并按奇數、偶數交替的順序輸出這兩個陣列中的
所有資料,(先交替輸出,如果奇數個數多,則再輸出剩下的奇數,如果偶數個數多,則再輸出剩下的偶數)
提示與要求:
(1)定義一個陣列存盤從鍵盤輸入的8個整數,先判斷這8個整數中奇數和偶數的個數,才能定義存盤奇數和偶數的陣列的長度;
(2)把一個大的陣列分別存放在奇數和偶數陣列中并交替輸出的程序定義為方法
*/
import java.util.Scanner;
public class DemoArr08 {
public static void main(String[] args) {
// TODO 自動生成的方法存根
Scanner s=new Scanner(System.in);
int[]f=new int[8];
int[]JI=new int[8];int[]OU=new int[8];
int Ji=0,Ou=0;
for(int i=0;i<8;i++) {
f[i]=s.nextInt();
}
for (int i = 0; i < f.length; i++) {
if(f[i]%2==0) {
OU[Ou]=f[i];
Ou++;
}else {
JI[Ji]=f[i];
Ji++;
}
}
System.out.println("奇數的個數有:"+Ji+"個");
System.out.println("偶數的個數有:"+Ou+"個");
if(Ji>Ou) {
for (int i = 0; i <Ou; i++) {
System.out.print(JI[i]+" "+OU[i]+" ");
}
for(int i=Ou;i<Ji;i++) {
System.out.print(" "+JI[i]+" ");
}
}else {
for (int i = 0; i <Ji; i++) {
System.out.print(OU[i]+" "+JI[i]+" ");
}
for(int i=Ji;i<Ou;i++) {
System.out.print(" "+OU[i]+" ");
}
}
}
}
參考代碼一:
package com.day4.array;
public class Array {
public static void main(String[] args) {
int [] a=new int []{1,9,2,5,4,8,3,6,7,10,8};
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+",");
}
}
}
參考代碼二:
package com.day4.array;
public class Array1 {
public static void main(String[] args) {
int [] a=new int []{1,9,2,5,4,8,3,6,7,10,8};
int[] result = minToMaxSort(a);
for (int i = 0; i < result.length; i++) {
System.out.print(result[i]+",");
}
//換行列印
System.out.println();
int[] result1 = maxToMinSort(a);
for (int i = 0; i < result1.length; i++) {
System.out.print(result1[i]+",");
}
}
/*
* 從小到大排序方法
*/
public static int[] minToMaxSort(int[] array) {
for(int i = 0; i<array.length-1; i++ ) {
for(int j = 0; j<array.length-i-1; j++) {
if( array[j]>array[j+1]) {
int num = array[j+1];
array[j+1] = array[j];
array[j] = num;
}
}
}
return array;
}
/*
* 從大到小排序方法
*/
public static int[] maxToMinSort(int[] array) {
for(int i = 0; i<array.length-1; i++ ) {
for(int j = 0; j<array.length-i-1; j++) {
if( array[j]<array[j+1]) {
int num = array[j+1];
array[j+1] = array[j];
array[j] = num;
}
}
}
return array;
}
}
參考代碼三:
package com.day4.array;
public class Array2 {
public static void main(String[] args) {
int[] a = new int[] { 1, 9, 2, 5, 4, 8, 3, 6, 7, 10, 8 };
int max = a[0];
int j=0;
for (int i = 0; i < a.length; i++) {
if (max < a[i]) {
max = a[i];
j=i;
}
}
System.out.println("最大陣列是"+max+",");
System.out.println("下標是"+j);
int min=a[0];
int z=0;
for (int i = 0; i < a.length; i++) {
if (min > a[i]) {
min = a[i];
z=i;
}
}
System.out.println("最小陣列是"+min+",");
System.out.println("下標是"+z);
}
}
參考代碼四:
package com.day4.array;
public class Array3 {
public static void main(String[] args) {
int [] a=new int []{72,89,65,58,87,91,53,82,71,93,76,68};
double result = getAverage(a);
System.out.print(result);
}
/*
* 求平均值
*/
public static double getAverage(int[] array) {
double sum=0.00;
for (int i = 0; i < array.length; i++) {
sum+=array[i];
}
return sum/array.length;
}
}
參考代碼五:
package com.day4.array;
public class Array4 {
public static void main(String[] args) {
int [] a=new int []{20,45,78,34,16,3,99,56};
int result = getNum(a);
System.out.println("大于50的個數為:"+result);
int result1 = getNum1(a);
System.out.print("小于50的個數為:"+result1);
}
/*
* 大于50的個數
*/
public static int getNum(int[] array) {
int num=0;
for (int i = 0; i < array.length; i++) {
if(array[i]>50){
num++;
}
}
return num;
}
/*
* 小于50的個數
*/
public static int getNum1(int[] array) {
int num=0;
for (int i = 0; i < array.length; i++) {
if(array[i]<50){
num++;
}
}
return num;
}
}
參考代碼六:
package com.day4.array;
import java.util.Scanner;
public class Array5 {
public static void main(String[] args) {
int[] a = new int[] { 1, 9, 2, 5, 4, 8, 3, 6, 7, 10, 8 };
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]+",");
}
System.out.println("請輸入任意一個整數");
Scanner sc = new Scanner(System.in);
int num=sc.nextInt();
//陣列下標
for (int i = 0; i < a.length; i++) {
if(num==a[i]){
int index=i;
System.out.println("陣列中可以找到該值:值為"+num+"該值的下標為:"+index);
}else{
System.err.println("沒有找到該值");
break;
}
}
}
}
參考代碼七:
package com.day4.array;
public class Array6 {
public static void main(String[] args) {
int[] a = new int[] { 72, 89, 65, 58, 87, 91, 53, 82, 71, 93, 76, 68 };
int aNum = 0;
int bNum = 0;
int cNum = 0;
int dNum = 0;
int eNum = 0;
for (int i = 0; i < a.length; i++) {
if (a[i] > 90) {
aNum++;
} else if (a[i] < 90 && a[i] >= 80) {
bNum++;
} else if (a[i] < 80 && a[i] >= 70) {
cNum++;
} else if (a[i] < 70 && a[i] >= 60) {
dNum++;
} else if (a[i] < 60) {
eNum++;
}
}
int[] count = new int[] { aNum, bNum, cNum, dNum, eNum };
for (int i = 0; i < count.length; i++) {
System.out.print(count[i] + ",");
}
}
}
參考代碼八:
package com.day4.array;
public class Array7 {
public static void main(String[] args) {
/*
int n[]=new int[8];
for (int i = 0; i < n.length; i++) {
String s=JOptionPane.showInputDialog("請輸入第"+(i+1)+"個整數:");
n[i]=Integer.parseInt(s);
}
*/
int n[]={1,2,3,5,8,4,6,10};//{1,3,5},{2,8,4,6,10}
output(n);
}
//該方法的功能是把一個陣列按照奇數、偶數分揀到兩個陣列中,然后交替輸出
public static void output(int num[]){
int oddNum[];//奇數陣列
int evenNum[];//偶數陣列
int evenCount=0,oddCount=0;
for (int i = 0; i < num.length; i++) {
if(num[i]%2==0){
evenCount++;
}else{
oddCount++;
}
}//回圈結束已經統計出了num陣列中偶數的個數為evenCount,奇數的個數為oddCount
oddNum=new int[oddCount];
evenNum=new int[evenCount];
int p=0,q=0;
for (int i = 0; i < num.length; i++){
if(num[i]%2==0){
evenNum[p]=num[i];
p++;
}else{
oddNum[q]=num[i];
q++;
}
}//此時已經將陣列num按照奇數、偶數分揀到兩個陣列oddNum,evenNum中
if(evenNum.length>oddNum.length){//如果偶數個數較多
for(int i=0;i<=oddNum.length-1;i++){
System.out.print(oddNum[i]+" "+evenNum[i]+" ");
}//先按照奇數的個數交替輸出
for(int i=oddNum.length;i<=evenNum.length-1;i++){
System.out.print(evenNum[i]+" ");
}//輸出剩下的偶數
}else{
for(int i=0;i<=evenNum.length-1;i++){
System.out.print(oddNum[i]+" "+evenNum[i]+" ");
}//先按照偶數的個數交替輸出
for(int i=evenNum.length;i<=oddNum.length-1;i++){
System.out.print(oddNum[i]+" ");
}//輸出剩下的奇數
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/193496.html
標籤:其他
