天天看點

java基礎9-18考試總結

選擇題

1.給定Java代碼,如下:

byte b1 = 5;

byte b2 = 2;

byte a = _____;

要使用這段代碼能夠編譯成功,橫線處可以填入(A)

A.(byte)(b1-b2) B. (byte) b1-b2 C. b1-b2 D. (byte) b1/b2

2.執行如下程式代碼後,c的值是(C)

int a=0;

int b=0;

int c=0;

do{

–c;

a=a-1;

}while(a>0);

A.0 B. 1 C. -1 D. 死循環

3.設有定義 int i = 6,則執行以下語句後,i的值為(C)

i += i - 1;

A.10 B.12 C.11 D.100

4.以下程式的運作結果是(C)。

public class Increment {

public static void main(String[] args) {

int c;

c = 2;

System.out.println©;

System.out.println(c++);

System.out.println©;

}

}

A、2 B、 2 C、 2 D、3

2 3 2 4

2 3 3 4

5.執行如下代碼,運作結果為(A)。

public class Test{

public static void main (String args[]) {

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

System.out.print(i);

}

System.out.print(i);

}

}

A.編譯時報錯 B. 正确運作,輸出012

C.正确運作,輸出123 D. 正确運作,輸出0123

6.下面代碼的輸出結果為(D)。

public class Test{

public static void main (String args[]) {

int a =5;

System.out.println((a%2 == 1) ? (a+1) /2 : a/2);

}

}

A 1 B 2 C 2.5 D 3

7.已知表達式int m[ ] ={1,2,3,4,5,6};下面哪個表達式的值與數組下标量總數相等?(B)

A m.length() B m.length C m.length()+1 D m.length+1

8.當編譯并運作下面程式的時候會出現的結果(B)

public class Myar{

public static void main(String args[]){

 int[] i =new int [5];

 System.out.println(i[5]);

}

}

A 編譯錯誤

B 運作錯誤

C 輸出0

D 輸出’null’

程式設計題

1.已知一個整型數組中,僅有一對數字是重複的,請編寫Java代碼,找出這個數字。

例如:數組{3,2,15,4,222,13,2,7,8}

輸出:2

public static void main(String[] args) {
    int a[] = {3, 2, 15, 4, 222, 13, 2, 7, 8};
    int i = 0;
    int b = 0;
    int j = 0;
    while (i < a.length) {
        for (j = i + 1; j < a.length; j++) {
            if (a[i] == a[j]) {
                b = a[i];
                j=1;
                break;
            }
        }
        if(j == 1) break;
        i++;
    }
    System.out.println("args = [" + b + "]");
}      
public static void main(String[] args) {
    int[] a = {8,5,7,6};
    int[] b = new int[a.length];
    int[] c = Arrays.copyOf(a,a.length);
    Arrays.sort(a);
    for(int i = 0; i < c.length; i++){
        for(int j = 0; j < a.length; j++){
            if (c[i] == a[j]) {
                b[i] = j;
                break;
            }
        }
    }
    for (int i = 0; i < b.length; i++){
        System.out.print(b[i]+" ");

    }
}      
public class Test01 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String s = sc.nextLine();
            if (s.length()>8){
                //大寫字母
                boolean type_A=false;
                //小寫字母
                boolean type_a=false;
                //數字
                boolean type_n=false;
                //其他字元
                boolean type_o=false;
                //周遊判斷
                for (int i=0;i<s.length();i++){
                    char c = s.charAt(i);
                    if (c<='Z'&& c>='A'){
                        type_A=true;
                    } else
                    if (c<='z'&& c>='a'){
                        type_a=true;
                    } else
                    if (Character.isDigit(c)){
                        type_n=true;
                    } else {
                        type_o=true;
                    }
                }
                int count=0;
                if (type_A){
                    count++;
                }
                if (type_a){
                    count++;
                }
                if (type_n){
                    count++;
                }
                if (type_o){
                    count++;
                }

                if (count>=3){
                    String compare = compare(s);
                    if ("OK".equals(compare)){
                        System.out.println("OK");
                    }else {
                        System.out.println("NG");
                    }
                }else {
                    System.out.println("NG");
                }
            }else {
                System.out.println("NG");
            }
        }
    }

    public static String compare(String s){
        int len=s.length();
        for (int i=0;i<len;i++){
            for (int j=i+1;j<len;j++){
                int cou =0;
                int a=i;
                int b=j;
                while (a<len && b<len && (s.charAt(a)==s.charAt(b))){
                    cou++;
                    a++;
                    b++;
                }
                if (cou>2){
                    return "NG";
                }
            }
        }
        return "OK";
    }
}