所有問題包涵在一道題里面
有5種尺寸的衣服
int[] a={22,23,24,25;26}
寫個程式,鍵盤輸入尺寸,如果有這個尺寸得到對應尺。如果沒有這個尺寸,提示沒有這個尺寸
要求利用陣列遍歷
uj5u.com熱心網友回復:
方法一:逐一遍歷陣列并與輸入的資料比較,相等則表示找到,可以提前終止回圈,至于從前向后還是從后向前都可以,時間復雜度是一樣的。這種方法比較適合無序的陣列。方法二:看你初始化的陣列,資料是有序的,那么就可以使用二分法進行進行查找,二分分查找你搜一搜自己學習下。二分法查找的前提是陣列是有序的。
uj5u.com熱心網友回復:
for exampleimport java.util.Scanner;
class Test {
public static void main(String[] args) {
int[] a = {22,23,24,25,26};
try {
Scanner sc = new Scanner(System.in);
int s = sc.nextInt();
int idx = 0;
for (idx=0; idx<a.length && a[idx]!=s; idx++);
if (idx==a.length) {
System.out.println(“沒找到尺寸”);
} else {
System.out.printf(“找到尺寸:%d\n”, a[idx]);
}
} catch(Exception e) {
e.printStackTrace();
}
}
}
uj5u.com熱心網友回復:
思路:
撰寫一個方法,判斷輸入的尺寸是否在已有的尺寸陣列中,
有,則回傳true;沒有,就回傳false。
然后再根據呼叫方法的回傳值做出相應的提示。
public class ArrayAndScanner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入你想要的尺寸:");
int size = scanner.nextInt();
int[] a = {22,23,24,25,26};
if (hasSize(a,size)){
System.out.println("有你想要的尺寸:"+size);
}else {
System.out.println("沒有你想要的尺寸!");
}
}
public static boolean hasSize(int[] a,int size){
for (int i = 0; i < a.length; i++) {
if (size == a[i]){
return true;
}
}
return false;
}
}轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/131972.html
標籤:Java SE
下一篇:Java執行緒,龜兔賽跑問題。
