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] + " ");
        }
    }

}

猜你喜欢

转载自blog.csdn.net/qq_43024800/article/details/82596527