南京郵電大學java程式設計作業線上編程第五次作業

來源:互聯網
上載者:User

標籤:資料   一個   去掉   phi   數字   rgs   冒泡   sum   bre   

王利國的"Java語言程式設計第5次作業(2018)"詳細
  1. 首頁
  2.  
  3. 我的作業列表
  4.  
  5. 作業結果詳細
總分:100選擇題得分:50 1. 以下哪一個工具是Java的編譯器?( )A.javac.exeB.java.exeC.javap.exeD.javadoc.exe正確答案是: A 2. 以下哪一個資料類型不屬於Java的基礎資料型別 (Elementary Data Type)?( )A.booleanB.charC.intD.String正確答案是: D 3. 假設有如下類的定義: public class test{ public static void main(String[] args){ int a= 3, b = 4; swap(a,b); System.out.println("a="+a + " b=" + b); } public static void swap(int a,int b){ int tmp = a; a = b; b = tmp; } } 程式運行後結果為( )A.a=4 b=3B.a=3 b=4C.a=a b=bD.無結果輸出正確答案是: B 4. 執行如下代碼後,b的值是( ) int a=0, b=0; do{ --b; a = a-1; }while(a>0);A.0B.1C.-1D.死迴圈正確答案是: C 5. 下列關於Java中的數組的說法,錯誤的是( )。A.數組中的元素的類型必須相同B.數組中的元素是有順序的C.數組對象,屬於參考型別D.數組的大小可以任意改變正確答案是: D 6. 在迴圈體中,如果想結束本次迴圈,可以使用哪個語句?( )。A.breakB.continueC.finalD.finally正確答案是: B 7. 下列標識符中,哪一個是非法標識符?( )A.staticsB.static_10C.10staticD.$statics10正確答案是: C 8. 設有數組的定義int[] a = new int[3],則下面對數組元素的引用錯誤的是( )。A.a[0]B.a[a.length-1]C.int i=0;a[i]D.a[a.length]-1正確答案是: D 9. int a=new int[2][3],則該數組包含( )個數組元素。A.2B.3C.6D.不確定正確答案是: C 10. 下面的程式碼片段執行之後count的值是什麼( ) int count = 1; for (int i = 1; i <= 5; i++) { count += i; } System.out.println(count);A.5B.1C.15D.16正確答案是: D編程題得分:50 數字加密  得分:10 / 10
import java.util.Scanner;/** * @Author liguo * @Description 輸入一個四位元,將其加密後輸出。 * 方法是將該數每一位上的數字加9,然後除以10取餘,做為該位上的新數字, * 最後將千位和十位上的數字互換,百位和個位上的數字互換,組成加密後的新四位元。 * 例如輸入1257,經過加9取餘後得到新數字0146,再經過兩次換位後得到4601。 * 輸入描述 * 輸入在一行中給出一個四位的整數x,即要求被加密的數。 * 輸出描述 * 在一行中按照格式“The encrypted number is V”輸出加密後得到的新數V。 * 範例輸入1: * 1257 * 範例輸出1: * The encrypted number is 4601 * @Data 2018-04-27  */public class Main {    public static String jiaMi(int a) {        int temp = String.valueOf( a ).length();        int b[] = new int[temp];        //整數轉化為一個從高位到低位的數組        for (int i = temp - 1; i >= 0; i--) {            b[i] = a % 10;            a = a / 10;        }//        for ( int number : b)//            System.out.print( number +"  ");        //將各個位元加上9併除以10取餘        for (int i =0 ;i <b.length;i++) {            b[i] = ((b[i] + 9) % 10);        }        //交換千分位和十分位   b[0]千分位,b[2]十分位        b[0] += b[2];        b[2] = b[0] - b[2];        b[0] -= b[2];        //交換百分位和個分位   b[1]百0分位,b[3]個位        b[1] += b[3];        b[3] = b[1] - b[3];        b[1] -= b[3];//      轉化為數組轉為string類型的整數        StringBuffer str = new StringBuffer();        for(int i=0;i<b.length;i++){            str.append(b[i]);        }        return str.toString();//            for ( int number : b)//                 System.out.println( number );    }    public static void main(String[] args) {        Scanner in = new Scanner( System.in );        int temp = in.nextInt();         String result = jiaMi(temp);         System.out.println("The encrypted number is "+result);    }}
 數列排序  得分:10 / 10
import java.util.Arrays;import java.util.Scanner;/** * @Author liguo * @Description 2.數列排序題目描述將一個具有20個元素的數組中的中間10個元素按從大到小順序排序,要求使用冒泡法排序。輸入描述在一行中輸入20個小於50的整數,資料之間只能用1個空格間隔。輸出描述直接輸出變化後的數組,每個數輸出佔4列列寬。範例輸入1:5 4 3 2 1 8 5 2 9 6 3 1 4 7 4 1 2 3 4 5範例輸出1:5   4   3   2   1   9   8   7   6   5   4   3   2   1   4   1   2   3   4   5 * @Data 2018-04-27 */public class Main {    public static void maopaoSort(int n[]){        for (int i = 1; i <=n.length-1; i++) {            for (int j = 0; j <= n.length-1-i; j++) {                //後面大值就進行值交換把他們換到前面                if (n[j]<=n[j+1]){                    n[j]+=n[j+1];                    n[j+1] = n[j] - n[j+1];                    n[j]-=n[j+1];                }            }        }    }    public static void main(String[] args) {        Scanner in = new Scanner( System.in );        int []array1 = new int[20];        int []array2;//        for (int value:array1) {//            value = in.nextInt();//        }        for (int i = 0; i <array1.length ; i++) {            array1[i]=in.nextInt();        }       array2= Arrays.copyOfRange(array1,5,15);   //複製的數組從5-14.沒有15//        System.out.println(Arrays.toString( array2 ));        maopaoSort( array2 );//       System.out.println(Arrays.toString( array2 ));//       arraycopy( array2,0,array1,5,10);        for (int i =0 ,j = 5; i < array2.length; i++,j++) {            array1[j] = array2[i];        }       for (int value:array1)       System.out.printf("%4d", value);    }}
 6-4-4 列印楊輝三角形  得分:10 / 10
import java.util.Scanner;/** * @Author liguo * @Description 輸入一個整數,表示該三角形的行數輸出描述對應行數的楊輝三角型,三角形中的每個元素請使用“5d”的格式字串列印輸出範例輸入1:5範例輸出1:11    11    2    11    3    3    11    4    6    4    1範例輸入2:9範例輸出2:11    11    2    11    3    3    11    4    6    4    11    5   10   10    5    11    6   15   20   15    6    11    7   21   35   35   21    7    11    8   28   56   70   56   28    8    1 * @Data 2018-04-27 */public class Main{    public static void yangHui(int n){        int a [][] = new int [n ][n];        a[0][0] = 1;        for (int i = 1; i < n; i++) {            a[i][0]= 1;            a[i][i]=1;            for (int j = 1; j < i; j++) {                a[i][j] = a[i-1][j-1]+a[i-1][j];            }        }        //列印二維數組.顯示楊輝三角形        for (int i = 0; i < n; i++) {            for (int j = 0; j <=i ; j++) {            System.out.printf("%5d",a[i][j]);            }            System.out.println();        }        }    public static void main(String[] args) {        Scanner in = new Scanner( System.in );        int n = in.nextInt();        yangHui( n );    }}
 6-4-3 構造指定的數列  得分:10 / 10
import java.util.ArrayList;import java.util.Scanner;/** * @Author liguo * @Description 題目描述編寫函數fun,求出a到b之內能被7或者11整除,但不能同時被7和11整除的所有正數,並將他們放在數組中,函數返回這些數的個數。編寫main函數,輸入a,b的值並調用函數進行運算。輸入描述從鍵盤輸入a,b的值(1<=a<=b<1000),用以下格式字串輸入a,b的值:在C語言中使用:scanf("%d%d",&a,&b);在Java語言中使用Scanner對象的nextInt()方法擷取a,b的值。輸出描述用以下格式字串輸出數組中的元素的值:"%d "(注意:%d後面有一個空格)範例輸入1:1 20 <斷行符號>ii範例輸出1:7 11 14範例輸入2:50 100 <斷行符號>範例輸出2:55 56 63 66 70 84 88 91 98 99 * @Data 2018-04-28 21:11 */public class Main {    public static void fun(int a,int b){        boolean flag= true;        int count = 0;//        int []arr = new int[b-a];        ArrayList <Integer> arr = new ArrayList <>( b-a );        for (int i = a; i <= b; i++) {            flag = (i%7==0||i%11==0);            if (i%77==0)                flag = false;            if (flag) {                arr.add( i );            }        }        arr.trimToSize();        arr.toArray(  );        for (int value:arr)            System.out.printf("%d ",value);    }    public static void main(String[] args) {        Scanner in = new Scanner( System.in );        int a = in.nextInt();        int b = in.nextInt();        fun( a,b );    }}
 6-4-1 求平均值  得分:10 / 10
import java.util.Arrays;import java.util.Scanner;/** * @Author liguo * @Description * 編程從鍵盤上輸入20個整數,求去掉最大值和最小值以後那些元素的平均值輸入描述連續輸入20個整數,用空格作為分隔輸出描述C語言和Java語言中,用以下格式字串輸出結果:"count=%d,average=%.2f\n"Python語言中,用以下格式字串輸出結果:"count={},average={:.2f}"範例輸入1:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20範例輸出1:count=18,average=10.50範例輸入2:90 80 70 100 50 60 70 100 75 85 85 90 80 70 65 50 60 70 80 90範例輸出2:count=16,average=76.25 * @Data 2018-04-29 0:12 */public class Main {    public static void main(String[] args) {        Scanner in = new Scanner( System.in );        int []arr = new int[20];        int count=20;        int sum=0;        double average = 0;        //錄入資料        for (int i = 0; i < 20; i++) {            arr[i]=in.nextInt();        }        Arrays.sort( arr );        //去掉出去除兩頭的最大最小值        for (int i = 1; i < 19; i++) {            if (arr[i] == arr[0] | arr[i] == arr[19]) {                arr[i] = 0;                count--;            }        }        //去掉兩個首尾的最大值最小值        arr[0] = 0;        arr[19]=0;        count-=2;        for (int value:arr)            sum+= value;        average = (double) sum/count;        System.out.printf( "count=%d,average=%.2f\n",count,average);    }}

南京郵電大學java程式設計作業線上編程第五次作業

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.