import javax.swing.JOptionPane;
public class test {
public static void main(String[] args) {
String[] name = { "huawei", "iPhone", "vivo", "oppo" };// name保存4种手机品牌名
//使用二维数组
double[][] money = { { 10, 3500 }, { 20, 2100 },
{ 17, 2800 }, { 8, 1355 } };// money保存手机数量和单价
int fun = -1;//功能号
while (true) {
System.out.println("*********手机销售管理***********");
System.out.println("---- 1. 显示 -----" + "----- 2. 按单价排序 -----");
System.out.println("---- 3. 查询 -----" + "----- 0. 退出 -----");
System.out.println("请输入功能代码(0——3)");
//JOptionPane.showInputDialog()方法从窗口接收用户输入的功能代码,该方法返回的是字符串
// 输入功能代码并解析成整数
//语句integer.parseint()是将整型数据Integer转换为基本数据类型int
//例子:
//String str = "3";
//int i = Integer.parseInt(str);转化成int类型
//System.out.println(i+1);//输出4;
//String str = "3";
//System.out.println(str+1);//输出 31;
fun = Integer.parseInt(JOptionPane.showInputDialog("请输入功能号(0---3)"));
if (fun < 0 || fun > 3) {
System.out.println("请重新输入功能代码(0--3)");
continue;
}
switch (fun) {
case 1:// 执行显示功能
System.out.println("序号\t手机品牌\t数量\t单价\t小计");
for (int i = 0; i < name.length; i++) {
System.out.print(i + "\t" + name[i]);// 输出序号和品牌名
for (int j = 0; j < money[i].length; j++) {
System.out.print("\t" + money[i][j]);// 输出数量和单价
}
System.out.println("\t" + money[i][0] * money[i][1]);// 输出小计
// System.out.println();
}
break;
case 2:// 执行按单价从高到低排序功能,采用冒泡排序方法
for (int i = 0; i < money.length - 1; i++) {
for (int j = 0; j < money.length - 1 - i; j++) {
if (money[i][1] < money[i + 1][1]) {// 如果前面的比后面的元素小,交换
// 交换手机品牌名
String temp = name[i];
name[i] = name[i + 1];
name[i + 1] = temp;
// 交换数量
double number = money[i][0];
money[i][0] = money[i + 1][0];
money[i + 1][0] = number;
// 交换单价
double price = money[i][1];
money[i][1] = money[i + 1][1];
money[i + 1][1] = price;
}
}
}
break;
//采用JOptionPane.showInputDialog()方法从窗口接收用户输入的手机品牌信息,
//从数组name中找到匹配的手机并记录index,然后输出该品牌和money[index]的数量和单价。
case 3:// 查询,输入手机品牌名,显示该手机信息
String brand = JOptionPane.showInputDialog("请输入品牌名");
int index = -1;// 手机索引号
for (int k = 0; k < name.length - 1; k++) {
//trim()移除字符串两侧的空白字符或其他预定义字符
if (brand.trim().equalsIgnoreCase(name[k])) {// 取得手机索引号
index = k;
break;
}
}
if (index < 0) {// 没有查询品牌的手机
System.out.println("没有该手机");
continue;
}
System.out.println("品牌名: " + brand + " 数量:"
+ money[index][0] + " 单价" + money[index][1]);
break;
case 0:
System.out.println("退出程序");
//是非正常退出,就是说无论程序正在执行与否,都退出,
System.exit(1);
}
}
}
}
功能2是排序,排完序在输出需要再按一次功能1.