为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我输入商品编号1后,T恤网球鞋网球拍都会显示

import java.util.Scanner;

public class XunHuan3 {
    public static void main(String[] args) {
        System.out.println("MyShopping管理系统 > 购物结算");
        System.out.println("****************************");
        System.out.println("请选择购物的商品编号:");
        System.out.println("1.T 恤  \t2.网球鞋 \t3.网球拍");
        System.out.println("****************************");
        System.out.print("请输入商品编号:");
        Scanner scanner = new Scanner(System.in);
        int b = scanner.nextInt();
        int a = 1;
        while (a <= 3) {
            if (a == 1) {
                System.out.println("T 恤  " + " ¥245.0");
            }
            if (a == 2) {
                System.out.println("网球鞋 " + " ¥570.0");
            }
            if (a == 3) {
                System.out.println("网球拍 " + " ¥320.0");
            }
            a++;
        }
        System.out.print("是否继续(y/n):");
        String c=scanner.next();
        if (c.equals("n")){
            System.out.println("程序结束!");
        }else {
            System.out.println("请输入商品编号:");
        }
    }
}


正在回答

7 回答

if(a == 1),if(a == 1),if(a == 1)改成if(a == b),这样你的程序才是合理的,不然你输入的变量b是闲置状态。

0 回复 有任何疑惑可以回复我~

if一直运行了、加break

0 回复 有任何疑惑可以回复我~

你执行了循环,循环内部还有a++,所以会给a加一继续循环(你的循环条件是当a小于等于3的时候执行,要a等于4的时候才结束循环)。

第一次循环时a=1,输出T恤和价格,a++(此时a=2)。

第二次循环时a=2,输出网球鞋和价格,a++(此时a=3)。

第三次循环时a=3,输出网球拍和价格,a++(此时a=4)。

判断a不满足小于等于3,循环结束。

不过你后面设置了一个是否继续,如果不输入n的时候,输入编号后并不能继续输出,因为那些价格在前面while循环里面输出,但是并不能继续执行循环。

0 回复 有任何疑惑可以回复我~

因为你在while中把三个的信息都遍历出来了

0 回复 有任何疑惑可以回复我~

你把所有if中的a改为b,然后还要在每个if判断输出后加break就行了

0 回复 有任何疑惑可以回复我~


你While中a当作循环变量,那条件中的你换一个呀 都是a

0 回复 有任何疑惑可以回复我~

稍等我帮你看下

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我输入商品编号1后,T恤网球鞋网球拍都会显示

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信