作业一学期二书九章

1.什么是二重循环?在内层循环中使用continue和break语句,程序如何跳转?

内循环中continue是跳出当前循环,比如说循环10次,当执行到第二次时遇到continue则本次不执行,会跳到第3次继续执行;若这里是break的时候则跳出所有循环,也就是余下的循环都不执行了。

2.编写程序,打印如下图案。

package sra;

import java.util.Scanner;

public class DJ9word2 {
    @SuppressWarnings("resource")
    public static void main(String[] args) {
        Scanner i=new Scanner(System.in);
        System.out.print("请输入行数:");
        int num=i.nextInt();
        for(int a=1;a<=num;a++){
            for(int b=1;b<=a;b++){
                System.out.print(b+" ");
            }
            System.out.println();
        }
    }

}

3.我国古代数学家张丘建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的:5文钱可以买1只公鸡,3文钱可以买1只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡,母鸡,雏鸡多少只?

package sra;

public class DJ9word3 {
    public static void main(String[] args) {
        int Cock=0;
        int Hen=0;
        int chick=0;
        for(Cock=0;Cock<=100;Cock++){
            for(Hen=0;Hen<=100;Hen++){
                for(chick=0;chick<=100;chick++){
                    if(Cock+Hen+chick==100&&Cock*15+Hen*9+chick==300){
                        System.out.print("公鸡的数量为:"+Cock);
                        System.out.print("母鸡的数量为:"+Hen);
                        System.out.print("雏鸡的数量为:"+chick);
                        System.out.println();
                    }
                }
            }
        }
    }

}

4.有三个班级各四名学员参赛,从控制台输入每个班级参赛的成绩,要求统计出三个班级所有参赛学员中成绩大于85分的学员的平均分,如何编程实现?

package sra;

import java.util.Scanner;

public class DJ9word4 {
    @SuppressWarnings("resource")
    public static void main(String[] args) {
        int[] amrk=new int[4];
        int classnum=3;
        int count=0;
        double sum=0;
        Scanner i=new Scanner(System.in);
        for(int a=0;a<classnum;a++){
            System.out.println("请输入第"+(a+1)+"个班级的成绩");
            for(int b=0;b<amrk.length;b++){
                System.out.print("第"+(b+1)+"个学员的成绩:");
                amrk[b]=i.nextInt();
                if(amrk[b]<85){
                    continue;
                }else{
                    count++;
                    sum+=amrk[b];
                }
            }
            System.out.println();
        }
        System.out.println("成绩85分以上的学员的平均分是:"+sum/count);
    }

}

5.假设一个简单的在ATM的取款过程如下:首先提示用户输入密码(password),最多只能输入三次,超过三次则提示用户“密码错误,请取卡”,交易结束。如果用户密码正确,再提示用户输入金额(amount),ATM只能输出100元纸币,一次取钱要求最低0元,最高1000元。如果用户输入的金额符合上述要求,则打印输出用户的钱数,最后提示用户“交易完成,请取卡”,否则提示用户重新输入金额。假设用户密码是111111。

package sra;

import java.util.Scanner;

public class DJ9word5 {
    @SuppressWarnings("resource")
    public static void main(String[] args) {
        int a=0;
        Scanner i=new Scanner(System.in);
        for(a=0;a<3;a++){
            System.out.print("请输入密码:");
            int Password=i.nextInt();
            if(Password==111111){
                System.out.print("请输入取款金额:");
                int aom=i.nextInt();
                for(int b=0;b<=10;b+=1){
                    if(aom>=0){
                        if(aom<=1000&&aom%100==0){
                            System.out.println("您的取款金额为:"+aom);
                            System.out.println("交易完成,请取卡。");
                            break;
                        }else{
                            System.out.print("您输入的金额不合法,请重新输入:");
                            int aom2=i.nextInt();
                            aom=aom2;
                            continue;
                        }
                    }else{
                        System.out.print("您输入的金额不合法,请重新输入:");
                        int aom2=i.nextInt();
                        aom=aom2;
                        continue;
                    }
                }
            }else{
                continue;
            }
            break;
        }if(a==3){
            System.out.println("密码错误,请取卡。");
        }
    }

}

6.输入行数,打印棱形,要求如下:
从控制台输入棱形的高度(行数)。如果用户输入的行数合法(奇数),则打印出棱形;否则提示用户输出奇数。
假设用户输入的行数为rows,则每行字符*的个数为1。3.5.7.···,rows,···,7,5,3,1。

package sra;

import java.util.Scanner;

public class DJ9word6 {
    @SuppressWarnings({ "unused", "resource" })
    public static void main(String[] args) {
        Scanner i=new Scanner(System.in);
        System.out.print("请输入棱形行数:");
        int num=i.nextInt();
        for(int a=0;;a++){
            if(num>0){
                if(num%2==1){
                    for(int b=1;b<=num;b++){
                        for(int c=1;c<=num-b;c++){
                            System.out.print(" ");
                        }
                        for(int d=1;d<=2*b-1;d++){
                            System.out.print("*");
                        }
                        System.out.println();
                    }
                    for(int e=num-1;e>=1;e--){
                        for(int f=1;f<=num-e;f++){
                            System.out.print(" ");
                        }
                        for(int g=1;g<=2*e-1;g++){
                            System.out.print("*");
                        }
                        System.out.println();
                    }
                    break;
                }else{
                    System.out.print("请输入奇数:");
                    int num2=i.nextInt();
                    num=num2;
                    continue;
                }
            }else{
                System.out.print("请输入奇数:");
                int num2=i.nextInt();
                num=num2;
                continue;
            }
        }
    }

}

猜你喜欢

转载自blog.csdn.net/sc13647346287/article/details/82458859