java 数组练习题,Java练习题 - 数组01
第一題:需求實現
模擬大樂透號碼:
一組大樂透號碼由10個1-99之間的數字組成
定義方法,打印大樂透號碼信息
代碼實現,效果如圖所示:
開發提示:
使用數組保存錄入的號碼
參考答案:
public class Test1 {
public static void main(String[] args) {
int[] arr = {10,20,30,40,50, 60,66,70,80,99};
printNum(arr);
}
public static void printNum(int[] arr) {
System.out.println("您的大樂透號碼為:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
}
第二題:需求實現
打印撲克牌.
代碼實現,效果如圖所示:
開發提示:
使用兩個字符串數組,分別保存花色和點數
public class Test2 {
public static void main(String[] args) {
// 花色數組
String[] hs = {"黑桃","紅桃","梅花","方片"};
// 點數數組
String[] ds = {"A","2","3","4", "5","6","7","8","9","10","J","Q","K"};
printCard(hs,ds);
}
public static void printCard(String[] hs ,String[] ds){
for (int hs_index = 0; hs_index < hs.length; hs_index++) {
for (int ds_index = 0; ds_index < ds.length; ds_index++) {
// 拼接字符串
System.out.print( hs[hs_index] + ds[ds_index]+" ");
}
// 輸出換行
System.out.println();
}
}
}
第三題:需求實現
模擬在一副牌中,抽取第1張,第5張,第50張撲克牌。
代碼實現,效果如圖所示:
參考答案:
public class Test3 {
public static void main(String[] args) {
// 獲取所有撲克牌
String[] puke = getPuke();
// 抽取指定的三種撲克牌
int num1 = 1;
int num2 = 5;
int num3 = 50;
String[] pk3 = get3(puke , num1 ,num2,num3);
// 打印抽取的牌
for (int i = 0; i < pk3.length; i++) {
System.out.print(pk3[i] + " ");
}
}
private static String[] getPuke() {
String[] colors={"黑色","紅桃","梅花","方塊"};
String[] nums={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
String[] puke = new String[54];
int index = 0;
for (int i = 0; i < colors.length; i++) {
for (int j = 0; j < nums.length; j++) {
puke[index] = colors[i]+nums[j];
index ++;
}
}
puke[52] = "小王";
puke[53] = "大王";
return puke;
}
public static String[] get3(String[] puke, int i, int i2, int i3) {
String[] pk3 = new String[3];
pk3[0] = puke[i - 1];
pk3[1] = puke[i2 - 1];
pk3[2] = puke[i3 - 1];
return pk3;
}
}
第四題:需求實現
統計字符
字符數組:{'a','l','f','m','f','o','b','b','s','n'}
定義printCount方法,統計每個字符出現的次數并打印到控制臺。
代碼實現,部分效果如圖所示:
開發提示:
將數字強制轉換,根據ASCII碼表轉換為字符。
可以定義長度26的數組,每個元素,對應去保存每種字符的出現次數,比如0索引保存a的次數,1索引保存b的次數,以此類推。
參考答案:
public class Test4 {
public static void main(String[] args) {
// 獲取長度100的字符數組
char[] charArray = {'a','l','f','m','f','o','b','b','s','n'};
// 統計字符數組中字母出現次數
printCount(charArray);
}
public static void printCount(char[] charArray) {
int[] count= new int[26];
// 對應保存字母出現的次數
for (int i = 0; i < charArray.length; i++) {
int c = charArray[i];
count[c- 97]++;
}
// 打印字母和次數
for (int i = 0, ch = 97; i < count.length; i++, ch++) {
if (count[i] != 0 ) {
System.out.println((char) ch + "--" + count[i]);
}
}
}
}
第五題:需求實現
統計高于平均分的分數有多少個。
定義數組[95, 92, 75, 56, 98, 71, 80, 58, 91, 91]。
定義getAvg方法,獲取一個數組中的平均數
代碼實現,效果如圖所示:
參考答案:
public class Test5 {
public static void main(String[] args) {
// 獲取隨機分數
int[] score = {95, 92, 75, 56, 98, 71, 80, 58, 91, 91};
// 獲取平均分
int avg = getAvg(score);
// 定義計數的變量
int count = 0 ;
for (int i = 0; i < score.length; i++) {
if (score[i] > avg){
count++;
}
}
System.out.println("高于平均分:"+avg+" 的 個數有" + count+" 個");
}
// 獲取平均分的方法
public static int getAvg(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum / arr.length;
}
}
第六題:需求實現
定義sym方法,判斷數組中的元素值是否對稱.
代碼實現,效果如圖所示:
開發提示:
數組中元素首尾比較。
參考答案:
public class Test6 {
public static void main(String[] args) {
int[] arr = {1,2,3,4,3,2,1};
System.out.println(Arrays.toString(arr) +" 是否對稱:" +sym(arr) );
int[] arr2 = {1,2,3,4,5,2,1};
System.out.println(Arrays.toString(arr2) +" 是否對稱:" +sym(arr2) );
}
public static boolean sym(int[] arr) {
/*
start : 數組頭
end :數組尾
*/
for (int start = 0 , end = arr.length -1 ; start <= end; start++, end--) {
// 如果兩端一旦有元素不等,就返回false
if (arr[start] != arr[end]) {
return false;
}
}
return true;
}
}
第七題:需求實現
定義equals方法,比較數組內容是否完全一致。
代碼實現,效果如圖所示:
開發提示:
長度一致,內容一致,定義為完全一致。
參考答案:
public class Test7 {
public static void main(String[] args) {
int[] arr = {1,2,3,4,3,2,1};
int[] arr2 = {1,2,3,4,3,2,1};
System.out.println(" 是否一致:" +equals(arr ,arr2) );
}
// 比較數組的內容
public static boolean equals(int[] arr1, int[] arr2) {
// 長度不同,返回false
if (arr1.length != arr2.length) {
return false;
}
//
for (int i = 0; i < arr1.length; i++) {
// arr1[i] 和 arr2[i]比較
/*
* 所有元素都相同才相同,也就是只要有一個不同,這兩個數組就是不同
*/
if (arr1[i] != arr2[i]) {
return false;
}
}
return true;
}
}
總結
以上是生活随笔為你收集整理的java 数组练习题,Java练习题 - 数组01的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: t66y.buzz index.php,
- 下一篇: java美元兑换,(Java实现) 美元