1. 程式人生 > 實用技巧 >java 第二週考試錯誤彙總

java 第二週考試錯誤彙總

已知有陣列定義:int MyArray[] = {10,20,30,40,50,60,70,80,90,100},則一下程式段:

int s = 0;
for (int i = 0; i < MyArray.length; i++)
if (i % 2 == 0)
s = s+ MyArray[i];
System.out.println(s);

執行後s的值是()B

A 200 B 250 C 300 D 350 E 程式編譯出錯

(不加括號不會編譯錯誤 會就近)

給定一下程式段:

int i = 0,j = -1;
switch(i) {
case 0:j=1;
case 1:j=2;
case 2:j=2;
default:j=5;
}
System.out.println("j=" + j)

編譯之後,正確的是()

A. j=-1 B、j =1 C、j=2 D j= 5

(會穿透,匹配到case也會穿透default)

分析下面的Java程式碼段:

class testException {
int sum = 0;
public static void main(String[] args){
int n[] = {0,1,2,3,4};
for (int i = 1; i <=4; i++) {
sum = sum + n[i];
}
}
System.out.println("sum = " + sum);
}

輸出結果是()

A 10 B sum = 10 C 執行時報錯 D 編譯錯誤

(成員變數不是靜態的不能直接使用)

score是一個整形陣列,有5個元素,已經正確初始化並賦值,仔細閱讀下面程式碼,程式執行結果是()

temp = score[0];
for (int index = 1; index < 5;index++){
if (score[index] < temp)
{
temp = score[index];
}
}

A. 求最大數 B 求最小數 C 找到陣列最後一個元素 D 編譯錯誤。

(temp 沒有定義型別)

輸入一個正整數,輸出該數的階乘。求整數的n階乘,公式為:n!=1*2*3*...*n

System.out.println(“請輸入一個正整數:”);

Scanner sc = new Scanner(System.in);

int number = sc.nextInt();

int result = 1;

for(int i = 1; i <= number; i++) {

______ result = result * i______

}

(System.out.println(result = result * i));

  1. int a[] = {1,2},b = 2, i = 0;則a[i++]+=b;執行後:

    i=_______,a[i] =_________;(1,2)arr[i++] += b == arr[i++] = 具體值 + b;


switch是否能作用在byte上,是否能作用在long上,是否能作用在String上?

(long 不能)