凉渃渃 2021-04-13 15:38 采纳率: 80%
浏览 33
已采纳

java新手遇到的问题 第一个代码 过编译了 但是无法运行 显示实在switch方面出现了问题

import java.util.Scanner;
public class FlightTickets{
public static void main(String[] args){
	

    Scanner sc = new Scanner(System.in);
	{System.out.println("please input the date and individed the month and the day by','");}
    String date_1 =sc.nextLine();
    String [] date = date_1.split(",");
    int[] time = new int[2];
    for(int i=0;i<date.length;i++)
  {
	time[i]=Integer.parseInt(date[i]);        //著名输入算法
  }
    Scanner scan = new Scanner(System.in);
	{System.out.println("please input the amount of your tickets");}
    int amount = scan.nextInt();
    int price=0;
    switch(time[1]){
    case 1:
	    if(time[2]==1||time[2]==28)
		    price=1200;
	    else if(time[2]==7||time[2]==8||time[2]==14||time[2]==15||time[2]==21||time[2]==22||time[2]==29)
			price=1200*8/10;
	    else price=1200*6/10;
		break;
    case 2:
		if(time[2]==11)
		price=1200;
	    else if(time[2]==4||time[2]==5||time[2]==12||time[2]==18||time[2]==19||time[2]==25||time[2]==26)
			price=1200*8/10;
			else price=1200*6/10;
        break;
    case 3:
		if(time[2]==0)
		price=1200;
	    else if(time[2]==4||time[2]==5||time[2]==11||time[2]==12||time[2]==18||time[2]==19||time[2]==25||time[2]==26)
			price=1200*8/10;
			else price=1200*6/10;
        break;
    case 4:
		if(time[2]==4)
		price=1200;
	    else if(time[2]==1||time[2]==2||time[2]==8||time[2]==9||time[2]==15||time[2]==16||time[2]==22||time[2]==23||time[2]==29||time[2]==30)
			price=1200*8/10;
			else price=1200*6/10;
		break;
    case 5:
		if(time[2]==1||time[2]==30)
		   {price=1200;}
	    else if(time[2]==6||time[2]==7||time[2]==13||time[2]==14||time[2]==20||time[2]==21||time[2]==27||time[2]==28)
			price=1200 * 8 / 10;
			else price=1200 * 6 / 10;
		break;
    case 6:
		if(time[2]==0)
		price=1200;
	    else if(time[2]==3||time[2]==4||time[2]==10||time[2]==11||time[2]==17||time[2]==18||time[2]==24||time[2]==25)
			price=1200*8/10;
			else price=1200*6/10;
		break;
    case 7:
		if(time[2]==0)
		price=1200;
	    else if(time[2]==1||time[2]==2||time[2]==8||time[2]==9||time[2]==15||time[2]==16||time[2]==22||time[2]==23||time[2]==29||time[2]==30)
			price=1200*8/10;
			else price=1200*6/10;
		break;
    case 8:
		if(time[2]==0)
		price=1200;
	    else if(time[2]==5||time[2]==6||time[2]==12||time[2]==13||time[2]==19||time[2]==20||time[2]==26||time[2]==27)
			price=1200*8/10;
			else price=1200*6/10;
		break;
    case 9:
		if(time[2]==0)
		price=1200;
	    else if(time[2]==2||time[2]==3||time[2]==9||time[2]==10||time[2]==16||time[2]==17||time[2]==23||time[2]==24||time[2]==30)
			price=1200*8/10;
			else price=1200*6/10;
		break;
    case 10:
		if(time[2]==1||time[2]==4)
		price=1200;
	    else if(time[2]==7||time[2]==8||time[2]==14||time[2]==15||time[2]==21||time[2]==22||time[2]==28||time[2]==29)
			price=1200*8/10;
			else price=1200*6/10;
		break;
    case 11:
		if(time[2]==0)
		price=1200;
	    else if(time[2]==4||time[2]==5||time[2]==11||time[2]==12||time[2]==18||time[2]==19||time[2]==25||time[2]==26)
			price=1200*8/10;
			else price=1200*6/10;
		break;
    case 12:
		if(time[2]==0)
		price=1200;
	    else if(time[2]==2||time[2]==3||time[2]==9||time[2]==10||time[2]==16||time[2]==17||time[2]==23||time[2]==24||time[2]==30||time[2]==31)
			price=1200*8/10;
			else price=1200*6/10;
		break;
  }
	{System.out.println("the price is "+price * amount);}
		{System.out.println("\n");}
  }
}

展开全部

  • 写回答

5条回答 默认 最新

  • 关注

    time[2]的下标超出了长度,你的time数组是2个元素,应该是time[0],time[1],把2改为1就正常了。

    JAVA0基础(QQ即时通讯软件项目实训):https://edu.csdn.net/course/detail/2981

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)
编辑
预览

报告相同问题?

悬赏问题

  • ¥50 如果使用python进行ERA5 10米风场预报检验
  • ¥15 navicat解析mysql密码
  • ¥15 SDAPI(关键词-table)
  • ¥15 unity安卓打包出现问题
  • ¥15 爱快路由器端口更改错误导致无法访问
  • ¥20 安装catkin时遇到了如下问题请问该如何解决呢
  • ¥15 VAE模型如何输出结果
  • ¥15 编译python程序为pyd文件报错:{"source code string cannot contain null bytes"
  • ¥20 关于#r语言#的问题:广义加行模型拟合曲线后如何求拐点
  • ¥15 fluent设置了自动保存后,会有几个时间点不保存
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部