升级“我行我素购物管理系统” 实现购物菜单选择 实现换购功能二次出现问题求帮忙解答

jeffky 发布于 2017/05/11 20:28
阅读 480
收藏 0

/* 修改后倒是没有bug了,但是键盘输入一个是否参与换购活动的Y/N那里不继续运行了*/

ackage s0509;

import java.util.*;

public class jeff1234 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input=new Scanner(System.in);
        System.out.println("登陆菜单\n1.登录系统\n2.退出");
       
        int choose=input.nextInt();
        switch (choose) {
        case 1:
            System.out.println("主菜单\n1.客户信息管理\n2.购物结算\n3.真情回馈\n4.注销\n");
            int choose1=input.nextInt();
            string answer1;
             switch (choose1) {
                case 1:
                    System.out.println("购物管理系统>客户信息\n1、显色所有客户信息\n2.添加客户信息\n3.修改客户信息\n4.查询客户信息\n");
                    break;
                 case 2:
                     
                     System.out.println("请输入消费金额:");
                     double sum=input.nextDouble();
                     System.out.println("是否参加换购活动?Y/N");
                    //键盘输入一个是否参与换购活动的Y/N
                     Scanner sc = new Scanner(System.in);
                     if ("Y".equals(sc)) {
                        int choose2=input.nextInt();
                        switch (choose2) {
                        case 1:
                            System.out.println("满50远,加2元换购百事可乐饮料1瓶");
                            break;
                        case 2:
                            System.out.println("满100远,加3元换购500ml可乐1瓶");
                            break;
                        case 3:
                            System.out.println("满100远,加10元换购5公斤面粉");
                            break;
                        case 4:
                            System.out.println("满200远,加10元换购1个苏泊尔炒菜锅");
                            break;
            
                        case 5:
                            System.out.println("满200远,加20元换购欧莱雅爽肤水1瓶");
                            break;
                        default:
                            System.out.println("不换购");
                            break;
                        }
                        
                        
                    }
                 case 3:
                     System.out.println("购物管理系统>真情回馈\n1.幸运大放送\n2.幸运抽奖\n3.生日问候\n");
                     break;
                 case 4:
                        
                        break;
                default:
                    break;
            }
            
            
            break;
        case 2:
            System.out.println("退出");
            break;
        default:
            System.out.println("欢迎下次光临");
            break;
        }
        
    }

}

加载中
0
云天纵
云天纵

你之前已经新建了一个Scanner对象,不需要再去新建了,直接用input.nextInt()就好了

说实话不喜欢用Scanner接收输入的内容,还是InputStreamReader用着舒服

jeffky
jeffky
回复 @云天纵 : 谢谢前辈指导
云天纵
云天纵
回复 @jeffky : 还有,你有没有发现你的代码里,有个case少了个break?代码一点要整洁,不要求你写的那么漂亮,起码要各个括号对齐,至少要让别人看的清楚。
云天纵
云天纵
回复 @jeffky : 没学就要自己主动学起来。 学编程跟学语文数学不一样。记住一点,刚开始学不要去纠结为什么,你只要知道怎么用,怎么去解决,以后用多了,你就会明白为什么了,前期要迅速积累各种处理方法。
北极心
北极心
BufferedReader bufferedReader =new BufferedReader(new InputStreamReader(System.in)); System.out.print("请随便输入:"); String text =bufferedReader.readLine(); System.out.println("输入的字符为:"+text);
jeffky
jeffky
。。前辈,这个还没学
0
北极心
北极心

我说啥,怎么看你这个程序是个控制台模拟程序啊

 

jeffky
jeffky
是的,刚学java
0
北极心
北极心

if ("Y".equals(sc)) 这个条件可能满足么?很显然不可能吗,sc是Scanner  对象不可能等于字符Y 你应该是少写一行代码了

String isyn=sc.nextLine();

然后if ("Y".equals(isyn))

返回顶部
顶部