1. 程式人生 > >2018.9.10作業

2018.9.10作業

第七章
1.寫出八個java語言中的基本資料型別。
int hort long byte float double char boolean

2.編寫java出現,現實接收使用者輸入的正整數,輸出該數的階乘。例如,輸入資料4,則輸出4!=1x2x3x4=24.要求:限制輸入的資料為1~10,否則提示“無效資料”並結束程式

import java.util.Scanner;

public class No_2 {
    public static void main(String[] args) {
        int b, c = 1;
        String e = ""
; Scanner input = new Scanner(System.in); System.out.print("請輸入1-10的整數:"); int i = input.nextInt(); if (i >= 1 && i <= 10) { for (int a = 1; a < i; a++) { e += a + "*"; c *= a; } c *= i; e += i + "="
+ c; System.out.println(e); } else { System.out.println("無效資料!"); } } }

3.編寫java程式,實現輸出1~100中所以不能被7整除的數,並求其和。重點內容要求:輸出四個資料換行顯示。

public class No_3 {
    public static void main(String[] args) {
        System.out.println("1-100之間不能被7整除的資料為");
        int
a=0; int b=0; for(int i=1;i<=100;i++){ if(i%7!=0){ a=a+i; b++; if(b%4==0){ System.out.println(i+"\t"); }else{ System.out.print(i+"\t"); } } } System.out.println(""); System.out.println("資料之和為:"+a); } }

第八章
1.閱讀以下點,找出其中的錯誤。

string [] scores = new String[5]{"Mike","Lily","Sunny","Jenny","Ana"} //new Strubg[5]  此處錯誤
for (int i= 0; i <= scores.length;i++){
System.out.printin(scores[i]) ;

2.一次輸入五句話,然後將他逆序輸出。執行結果如圖所示。

import java.util.Scanner;

public class No_2 {
    public static void main(String[] args) {
        String[] a = new String[5];
        Scanner input = new Scanner(System.in);
        System.out.println("請輸入五句話:");
        for (int i = 0; i < 5; i++) {
            System.out.print("第" + (i + 1) + "句話:");
            a[i] = input.next();
        }
        System.out.println("");
        System.out.println("逆序輸出的五句話:");
        for (int o = 1; o <= a.length; o++) {
            System.out.println(a[a.length - o]);
        }
    }

}

3.某百貨商場當日消費積分最高的八名顧客,他們的積分分別是18.25.7.36.13.2.89.63.編寫程式找出最低的積分及他在陣列中的原始位置。

public class No_3 {
    public static void main(String[] args) {
        int[] a = new int[] { 18, 25, 7, 36, 13, 2, 89, 63 };
        int min = a[0];
        int x = 0;
        for (int i = 0; i < a.length; i++) {
            if (min > a[i]) {
                min = a[i];
                x = i;
            }
        }
        System.out.println("下標為:" + x + " " + "值為:" + a[x]);
    }

}

4.從鍵盤上輸入10個整數,合法值為1.2或3,不是這三個數則為非法數字。試程式設計統計每個整數和非法數字的個數。

import java.util.Scanner;

public class No_4 {
    public static void main(String[] args) {
        int[] a = new int[10];
        int[] b = new int[] { 0, 0, 0, 0 };
        Scanner input = new Scanner(System.in);
        System.out.println("請輸入10個整數:");
        for (int i = 0; i < 10; i++) {
            a[i] = input.nextInt();
            switch (a[i]) {
            case 1:
                b[0] += 1;
                break;
            case 2:
                b[1] += 1;
                break;
            case 3:
                b[2] += 1;
                break;
            default:
                b[3] += 1;
                break;
            }
        }
        for (int l = 0; l < 3; l++) {
            System.out.println("數字" + (l + 1) + "的個數:" + b[l]);
        }
        System.out.println("非法數字的個數:" + b[3]);

    }

}

5.假設有一個長度為5的陣列,如下所示,
int[] array =new int(](1,3,-1,5,-2};
現建立一個新陣列 newArayl ].要求新陣列中元素的存放順序 與原陣列中的元素逆序,並且如果原陣列中的元素值小於0,在新陣列中按0儲存。試程式設計輸出新陣列中的元素,程式執行結果如圖8.17所示。

public class No_5 {
    public static void main(String[] args) {
        int[] a = new int[] { 1, 3, -1, 5, -2 };
        int[] b = new int[5];
        System.out.println("原組為:");
        for (int i = 0; i < 5; i++) {
            System.out.print(a[i] + " ");
        }
        System.out.println("");
        System.out.println("逆序並處理後的陣列為:");
        for (int o = 0; o < a.length; o++) {
            if (a[a.length - (o + 1)] < 0) {
                continue;
            }
            b[o] = a[a.length - (o + 1)];
        }
        for (int i = 0; i < 5; i++) {
            System.out.print(b[i] + " ");
        }
    }

}

6.有一組英文歌曲,按照歌曲名稱的字母順序從A到Z順序排列,儲存在一個數組中。現在新增一首新歌,將他插入陣列,並保持歌曲名稱升序排列。

import java.util.Scanner;

public class No_6 {
    public static void main(String[] args) {
        int weizhi = 0;
        Scanner input = new Scanner(System.in);
        String[] a = new String[] { "Island", "Ocean", "Pretty", "Sun" };
        String[] b = new String[a.length + 1];
        System.out.print("插入前的陣列為:");
        for (int t = 0; t < a.length; t++) {
            b[t] = a[t];
            System.out.print(a[t] + " ");
        }
        System.out.println();
        System.out.print("請輸入歌曲名稱:");
        String gequ = input.next();
        for (int i = 0; i < a.length; i++) {
            if (a[i].compareToIgnoreCase(gequ) > 0) {
                weizhi = i;
                break;
            }
        }
        for (int j = b.length - 1; j > weizhi; j--) {
            b[j] = b[j - 1];
        }
        b[weizhi] = gequ;
        System.out.print("插入後的陣列為:");
        for (int t = 0; t < b.length; t++) {
            System.out.print(b[t] + " ");
        }
    }

}