多重循環、方法作業


多重循環、方法作業

 

 

一、    選擇題

1.

分析下面的Java多重循環代碼片段,編譯運行后的輸出結果是(   D 。(選擇一項)

 

for (int i = 0; i < 6; i++) {

         int k = ++i;

         while (k < 5) {

                  System.out.print(i);

                  break;

         }

}

 

 

 

 

A.

024

 

B.

02

 

C.

123

 

D.

13

 

2.

給定如下Java代碼,編譯運行的結果是(  A  )。(選擇一項)

 

public class Test {

         public static void main(String[] args) {

                  int sum=0;

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

                          do{

                                   i++;

                                   if(i%2!=0)

                                            sum+=i;

                          }while(i<6);

                  }

                  System.out.println(sum);

         }

}

 

 

 

 

A

8

 

B.

15

 

C.

24

 

D.

什么也不輸出

 

 

 

 

 

3.

Javamain方法的返回值是(  D  )。(選擇一項)

 

 

 

 

A

String

 

B.

int

 

C.

char

 

D.

void

 

4.

Java的程序類中如下方法定義正確的是(  A D )。(選擇兩項)

 

 

 

 

A

public int ufTest(int num){

                  int sum=num+100;

                  return sum;

}

 

B.

public String ufTest(int num){

                  int sum=num+100;

                  return sum;

}

 

C.

public void ufTest(int num){

                  int sum=num+100;

                  return sum;

}

 

D.

public float ufTest(int num){

                  int sum=num+100;

                  return sum;

}

 

5.

以下關於方法調用的代碼的執行結果是(   B 。(選擇一項)

 

public class Test {

         public static void main(String args[]) {

                  int i = 99;

                  mb_operate(i);

                  System.out.print(i + 100);

         }

         static void mb_operate(int i) {

                  i += 100;

         }

}

 

 

 

 

A.

99

 

B.

199

 

C.

299

 

D.

99100

 

 

 

 

6.

下面( BD    )方法是public void example(){…}的重載方法。(選擇二項)

 

 

 

 

A

private String example(){…}

 

B.

public int example(String str){…}

 

C.

public void example2(){…}

 

D.

public int example(int m,float f){…}

 

7.

以下選項中添加到代碼中橫線處會出現錯誤的是(  BD   )。(選擇二項)

 

public class Test {

         public float aMethod(float a, float b) {

                  return 0;       

         }

                                       

}

 

 

 

 

A

public float  aMethod(float a, float b, float c) {

                  return 0;

}

 

B.

public float  aMethod(float c, float d) {

                  return 0;

}

 

C.

public int  aMethod(int a, int b) {

         return 0;

}

 

D.

private int  aMethod(float a, float b) {

         return 0;

}

 

二、    判斷題

  1. 多重循環是指一個循環體內又包含另一個完整的循環結構。外層循環變量變化一次,內層循環變量要從頭到尾變化一遍。(  T  )
  2. 定義方法時的參數稱為實在參數,調用方法時的參數稱為形式參數。(  F  )
  3. 調用方法時,要求實參和形參的個數相同,類型匹配。(  T  )
  4. 判斷方法重載的依據是方法名相同,參數不同。(T   )

 

三、    簡答題

  1. 在多重循環中,如何在內層循環中使用break跳出外層循環。

    (1)正常情況下,break只是跳出內層循環。

    (2)可以使用帶標簽的break,相當於goto,比如break a指的是退出a所在的循環。但是不建議使用這種方法,因為跳多了出不來

    另外:帶標簽的continue用法類似

    舉例子

 

 1                int i=0;
 2 
 3                int j=0;
 4 
 5                a: for(;i<10;i++){
 6 
 7                b:for(;j<10;j++){
 8 
 9                if(j==4){
10 
11                     break a;  //跳出a所在的循環
12 
13                }
14 
15  

 

  1. 方法重載的定義、作用和判斷依據

    定義:一個類中含兩個以上同名的方法,他們之間就構成重載

    特點:
      1、必須是兩個以上同名的方法
      2、方法之間的參數組合必須不同(參數的數目不同或者參數的類型不同)
      3、方法的返回值不能作為判斷方法之間是否構成重載的依據

    好處:
      大大簡化啦的類調用者的代碼,讓我們感覺類有一種自動化調用的功能,而沒有增加類創建的代碼

四、    編碼題

  1. 打印九九乘法表
1 public static void main(String[] args) {
2         for(int i=1;i<=9;i++){
3             for(int j=1;j<=i;j++){
4                 System.out.print(i+"*"+j+"="+i*j+"\t");
5             }
6             System.out.println();
7         }
8     }

  2.判斷1-100之間有多少個素數並輸出所有素數。(將判斷一個數是否是素數的功能提取成方法,在循環中直接調用即可)

 1 public static void main(String[] args) {
 2             primeNum();//調用素數方法primeNum();
 3         }
 4         //素數的方法
 5         public static void primeNum(){
 6             for(int i=2;i<=100;i++){
 7                 boolean flag = true;
 8                 for(int j=2;j<i;j++){
 9                     if(i%j==0){
10                         flag = false;
11                         break;
12                     }
13                 }
14              if(flag){
15                  System.out.println(i+"\t");
16              }
17             }
18         }

  3.輸入三個班,每班10個學生的成績,求和並求平均分

public static void main(String[] args) {
        double sum = 0;
        double aver = 0;
        Scanner sc = new Scanner(System.in);
        for(int i=1;i<=3;i++){
            System.out.println("當前是第"+i+"個班級的成績!");
            for(int j=1;j<=10;j++){
                System.out.println("請輸入第"+j+"個學生的成績:");
                double grade = sc.nextDouble();
                System.out.println(grade);
                sum+=grade;
            }
            aver=sum/10;
            System.out.println("第"+i+"個班級的總分是:"+sum+"\t"+"它的平均分是"+aver);
        }
    }

五、   可選題

  1. 打印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等於該數本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。

 

  2.定義方法:打印指定行和列的矩形

 1 public static void main(String[] args) {
 2          Scanner sc = new Scanner(System.in);
 3          System.out.println("請輸入打印長方形的行數:");
 4          int line = sc.nextInt();
 5          System.out.println("請輸入打印長方形的列數:");
 6          int row = sc.nextInt();
 7          for(int i=1;i<=line;i++){
 8                 for(int j=1;j<=row;j++){
 9                     System.out.print(" *");
10                 }
11                 System.out.println();
12             }    
13     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM