Java第八章多重循环的学习

113 阅读2分钟

1.多重循环就是循环之中套循环,外面的循环执行一次,里面的循环执行一遍

2.难题

  1. 完成《青鸟小店》的登陆功能,输入1和2以外的数字,提示重新输入;输入2,提示“谢谢使用!”;输入1,接收用户名和密码,最多有3个机会。效果如下图:

2. 假设一个商店最多可存放10件商品,现在入库5件商品,商品的信息为:

  1. 序号 名称 单价

. 1 百事可乐 3.00

2 可口可乐 3.5

3 薯片 9.5

4 牛奶 3.5

5 饼干 4.5

请完成:1.显示商品信息;2.添加商品信息;3.修改商品信息 效果如下: 选择1,显示商品信息:

选择2,添加商品信息

选择3,修改商品信息

代码为

import java.util.Scanner;
public class Demo3 {
    public static void main(String[] args) {
	Scanner input = new Scanner(System.in);
	System.out.println("欢迎进入青鸟小店\n");
	System.out.println("*************************************");
	System.out.println("\t1.显示所有商品信息\n\t2.添加商品信息\n\t3.修改商品信息");
	System.out.println("*************************************");
	boolean a = true;
	String[] names = new String[10];
	names[0] = "百事可乐";
	names[1] = "可口可乐";
	names[2] = "薯片";
	names[3] = "牛奶";
	names[4] = "饼干";
	double[] moneys = new double[10];
	moneys[0] = 3.0;
	moneys[1] = 3.5;
	moneys[2] = 9.5;
	moneys[3] = 3.5;
	moneys[4] = 4.5;
	System.out.print("请选择:");
	do {
		int xh = input.nextInt();
		switch (xh) {
		case 1:
			System.out.println("*******商品信息列表*******");
			System.out.println("\t序号\t商品名\t单价");
			for (int i = 0; i < names.length; i++) {
				if (names[i] != null) {
					System.out.println("\t" + (i + 1) + "\t" + names[i] + "\t" + moneys[i]);
				}
			}
			break;
		case 2:
			System.out.println("*******添加商品信息*******");
			System.out.print("请输入商品名称:");
			String name = input.next();
			System.out.print("请输入商品单价:");
			double money = input.nextDouble();
			for (int j = 0; j < names.length; j++) {
				if (names[j] == null) {
					names[j] = name;
					moneys[j] = money;
					break;
				}
				System.out.println("添加成功,现有商品信息如下:");
			}
			System.out.println("\t序号\t商品名\t单价");
			for (int z = 0; z < names.length; z++) {
				if (names[z] != null) {
					System.out.println("\t" + (z + 1) + "\t" + names[z] + "\t" + moneys[z]);
				}
			}
			break;
		case 3:
			System.out.println("******修改商品******");
			System.out.print("请输入商品名称:");
			String name1 = input.next();
			boolean pd = false;
			int xb = -1;
			for (int q = 0; q < names.length; q++) {
				if (name1.equals(names[q])) {
					pd = true;
					xb = q;
					break;
				}

			}
			if (pd == true) {
				System.out.println("商品的信息是:" + names[xb] + "," + moneys[xb]);
				System.out.print("请输入新的商品价格:");
				int xmoney = input.nextInt();
				moneys[xb] = xmoney;
				System.out.println("修改成功!\n修改成功,现商品信息如下:");
				System.out.println("\t序号\t商品名\t单价");
				for (int w = 0; w < names.length; w++) {
					if (names[w] != null) {
						System.out.println("\t" + (w + 1) + "\t" + names[w] + "\t" + moneys[w]);
					}
				}
			} else {
				System.out.println("没有次商品!");
			}
			break;
		default:
			System.out.println("输入错误,请重新输入:");
			continue;
		}
	} while (a == true);
    }
}