刷题的狂欢-----JAVA每日三练-----第九天

Posted 敲代码的xiaolang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刷题的狂欢-----JAVA每日三练-----第九天相关的知识,希望对你有一定的参考价值。

努力刷题,每日三题,题目来源于《Java课后实战训练手册》----清华大学出版社。

第一题
统计学生成绩,输入学生的学号及语文、数学、英语成绩,输出学生各科成绩信息、平均成绩和总成绩,运行结果如图所示。

import java.util.Scanner;

public class SchoolReport {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入本班学生总数:");
		int studentcout = sc.nextInt();
		int achivement[][] = new int[studentcout][4];
		for (int i = 0; i < studentcout; i++) {
			System.out.println("请输入第" + (i + 1) + "个学生的编号:");
			achivement[i][0] = sc.nextInt();
			System.out.println("请输入语文成绩:");
			achivement[i][1] = sc.nextInt();
			System.out.println("请输入数学成绩:");
			achivement[i][2] = sc.nextInt();
			System.out.println("请输入英语成绩:");
			achivement[i][3] = sc.nextInt();
		}
		System.out.println("学生成绩结果如下");
		System.out.println("---------------------------------------------");
		System.out.println("学生编号\\t语文成绩\\t数学成绩\\t英语成绩\\t平均成绩\\t总成绩");

		for (int i = 0; i < achivement.length; i++) {
			double sum = 0;	//总成绩
			double ave = 0;	//平均成绩
			for (int j = 0; j < achivement[i].length; j++) {
				System.out.print(achivement[i][j] + "\\t");
				if (j > 0) {
					sum += achivement[i][j];
				}
			}
			ave = sum / 3;
			System.out.print(String.format("%.2f", ave) + "\\t" +(int)sum+ "\\n");
		}
	}
}

第二题
编写一个程序,一辆大巴有 9 排 4 列的座位,模拟这辆客车的售票过程( 1 代表“有票”, 0 代表“无票”),运行结果如图所示。

import java.util.Scanner;
public class Ticket {// 客车售票系统
	public static void main(String[] args) {
		int location[][] = new int[9][4];// 定义二维数组
		for (int i = 0; i < 9; i++) {// for循环开始
			for (int j = 0; j < 4; j++) {// for循环开始
				location[i][j] = 1;// 初始化二维数组
			}
		}
		while (true) {// 开始售票
			// 输出标题
			System.out.println("            简单客车售票系统" + "\\n  9排4列的大巴车开始售票");
			for (int i = 0; i < 9; i++) {
				for (int j = 0; j < 4; j++) {
					System.out.print(location[i][j] + "\\t");// 输出售票信息
				}
				System.out.println();// 输出换行符
			}
			// 创建扫描器,用来进行用户输入
			Scanner sc = new Scanner(System.in);
			// 提示用户输入信息
			System.out.print("请输入要预定的坐位行号:");
			int row = sc.nextInt();// 得到坐位行数
			// 提示用户输入信息
			System.out.print("请输入要预定的坐位列号:");
			int column = sc.nextInt();// 得到坐位列数
			location[row - 1][column - 1] = 0;// 标记售出票状态
		}
	}
}

第三题
使用二维数组实现杨辉三角算法。

import java.util.Scanner;
public class Yanghui {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int row = scanner.nextInt();
        // 由于每一行的元素个数不同,所以不定义每一行的个数
        int[][] array = new int[row][];
        for (int i = 0; i < row; i++) {
            // 初始化每一行的这个一维数组
            array[i] = new int[i + 1];
            for (int j = 1; j <= row - i; j++) {
                System.out.print(" ");
            }
            // 遍历这个数组,添加数组元素
            for (int j = 0; j <= i; j++) {
                // 每一列的开头和结尾元素为1,开头的时候,j=0,结尾的时候,j=i
                if (j == 0 || j == i) {
                    array[i][j] = 1;
                } else {
                    array[i][j] = array[i - 1][j] + array[i - 1][j - 1];
                }
                System.out.print(array[i][j] + " ");
            }
            System.out.println();
        }
    }
}

加油!!!

以上是关于刷题的狂欢-----JAVA每日三练-----第九天的主要内容,如果未能解决你的问题,请参考以下文章

刷题的狂欢-----JAVA每日三练-----第十六天

刷题的狂欢-----JAVA每日三练-----第十五天

刷题的狂欢-----JAVA每日三练-----第七天

刷题的狂欢-----JAVA每日三练-----第八天

刷题的狂欢-----JAVA每日三练-----第十天

刷题的狂欢-----JAVA每日三练-----第九天