Java语言:一辆大巴有9排4列的座位,现模拟客车售票过程(1代表“有票”,0代表“无票”)。

题目:一辆大巴有9排4列的座位,现模拟客车售票过程(1代表“有票”,0代表“无票”)。

这个挺有意思的:讲一下思路吧,由于这个问题没有给出具体的空位数据,所以只能使用随机数来进行填充二维数组。

当选到无票的时候,数组要进行更新。   多的懒得讲,自己代码注释吧

package xaingmu;

import java.util.Random;
import java.util.Scanner;

public class asdf {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//4.一辆大巴有9排4列的座位,现模拟客车售票过程(1代表“有票”,0代表“无票”)。
		int arr[][]=new int [9][4];    //定义九行四列二维数组
	//	int d[]=new int [2];     
	//	String d="*";
		Random r=new Random();       //定义随机数r
		for(int i=0;i<arr.length;i++) {  //遍历行
			for(int a=0;a<arr[0].length;a++)//遍历列
				arr[i][a]=r.nextInt(2);  //给行列添加随机数(0-1之间) 也就给二维数组里面添加了元素
			    //System.out.print(arr[i][a]);
		//System.out.print(r.nextInt(8));
		}
		
		System.out.println("——————————售票系统————————————");  //打印
		
		for(int i=0;i<arr.length;i++) {   //   遍历二维数组
			for(int a=0;a<arr[0].length;a++) {
				System.out.print("|"+arr[i][a]+"|"+"\t");
			}
			System.out.println();
			System.out.println("————————————————————————————");
		}
		
		Scanner in =new Scanner(System.in);   //定义输入
		
		while(true) { //定义true(为真时无限循环)循环
			
			System.out.println("请输入座位 行 1-9 列 0-4");  //打印
			int s=in.nextInt();//输入行
			int e=in.nextInt();//输入列
			
			if(s<=9&&e<=4&&s>0&&e>0) {  //判断输入的是否在规定范围内
				
				System.out.println(arr[s-1][e-1]);  //输入的全减一,因为数组默认是从0下标开始
				//for(int i=0;i<d.length;i++) 
					//d[i]=in.nextInt();
					if(arr[s-1][e-1]==1) {  //判断有无票
						System.out.println("无票");
					}
					else {
						System.out.println("有票");
						
						try {   //有票则暂停程序三秒
							Thread.sleep(3000);
						}catch (InterruptedException e1) {
							e1.printStackTrace();
						}
						
						arr[s-1][e-1]=1;//给空位加一表示有人了  更新数组
						System.out.println("——————————售票系统————————————");
						
						for(int i=0;i<arr.length;i++) { //重新遍历数组
							for(int a=0;a<arr[0].length;a++) {
								System.out.print("|"+arr[i][a]+"|"+"\t");
							}
							System.out.println();
							System.out.println("————————————————————————————");
						
						//break;
					}
					//d[0]= 0;d[1]=0;
					//d[i]=in.nextInt();
					//System.out.println(arr[d[0]][d[1]]);
				//}
			}
			}
			else {  //不在规定范围内则返回正确输入
				System.out.println("请正确输入");
			}
			//System.out.println(s+""+e);
		}
	}
}

运行结果如下

 

本人java刚学到二维数组,代码写的不好,大佬勿喷。有更好的思路的也可以在下方留言,我们一起讨论,一起学习。

阿~苏:生命不息,学习不止

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值