第一题
package third;
import java.util.Arrays;
import java.util.Scanner;
public class bask{
public static void main(String[] args) {
// TODO Auto-generated method stub
int n=10; //这里控制杨辉三角的层数
int[][] arr=new int[n][n]; //创建一个n*n的二维数组
for (int i = 0; i < arr.length; i++) {
//每一层头尾赋值为1
arr[i][i]=1;
arr[i][0]=1;
System.out.print(arr[i][0]+"\t"); //输出每层的开头
//根据杨辉三角的性质,循环由1开始
for(int j=1; j<i; ++j){
//根据杨辉三角的性质,每个数等于上层两数之和
arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
System.out.print(arr[i][j]+"\t"); //输出
}
//跳过i=0时,因为第一层的时候只需要输出一个1
if(i != 0){
System.out.print(arr[i][i]);
}
System.out.println(); //换行
}
}
}
第二题
package third;
import java.util.Arrays;
import java.util.Scanner;
public class bask{
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in); //创建扫描器
int number=3; //学生数量
int disciplineNumber=4; //学科数量:学科数量加一,加上学号
int[][] studentScore=new int[number][disciplineNumber];
//输入所有学生的成绩,学号,语文,英语,数学
for (int i = 0; i < studentScore.length; i++) {
int count=0;
System.out.println("请输出第"+(i+1)+"个学生的编号:");
studentScore[i][count++]=in.nextInt();
System.out.println("请输入语文成绩:");
studentScore[i][count++]=in.nextInt();
System.out.println("请输入数学成绩:");
studentScore[i][count++]=in.nextInt();
System.out.println("请输入英语成绩:");
studentScore[i][count]=in.nextInt();
}
System.out.println("学生成绩结果如下");
System.out.println("---------------------------------");
System.out.printf("%-10s %-10s %-10s %-10s %-10s %-10s","学生编号","语文成绩","数学成绩","英语成绩","平均成绩","总成绩");
System.out.println();
for (int i = 0; i < studentScore.length; i++) {
int sum=0; //保存每一个学生的成绩总和,因为并没有要求保存,则直接输出结果即可
System.out.printf("%-16d",studentScore[i][0]); //输出学号
//由于学号占0位置处,所以内循环从1开始
for (int j = 1; j < studentScore[i].length; j++) {
//计算总成绩和
sum+=studentScore[i][j];
//输出每科成绩
System.out.printf("%-15d",studentScore[i][j]);
}
//计算平均值,长度需要除去学号
System.out.printf("%-12.2f", (double)sum / (studentScore[i].length-1) );
System.out.printf("%d\n",sum); //输出总和
}
in.close(); //关闭扫描器
}
}
第三题
import java.util.Arrays;
import java.util.Scanner;
public class bask{
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in); //创建扫描器
int row=9; //排
int col=4; //列
int[][] seat=new int[row][col]; //创建一个排列符合要求的二维数组
for (int i = 0; i < seat.length; i++) {
Arrays.fill(seat[i],1); //初始化,将数组数据全部填充为1,表示空位
}
out_seat_data(seat); //输出大巴车的座位情况
System.out.print("请输入要预定的座位行号:");
int chooseLine=in.nextInt();
System.out.print("请输入要预定的座位列号:");
int choooseCol=in.nextInt();
//排除输入座位号无效的情况
if( (chooseLine > seat.length || chooseLine <= 0) || (choooseCol > seat[0].length || choooseCol <= 0)){
System.out.println("选择座位错误,无此座位号,请重新选择!!!");
return;
}
//数组下标从0开始,所以需要减一
seat[chooseLine-1][choooseCol-1]=0; //将被选择的座位置为无票,表示已售出
out_seat_data(seat); //输出座位情况
in.close(); //关闭扫描器
}
//输出大巴车座位情况方法
public static void out_seat_data(int[][] arr){
System.out.println("\t\t简单客车售票系统");
System.out.printf("\t%d排%d列的大巴车开始售票\n",arr.length,arr[0].length);
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]+"\t\t\t\t");
}
System.out.println();
}
}
}