選擇題
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";
}
}