之前学习的内容很简单
前提:
1.单创一个货物类用于创建货物的各项属性(get set tostring 有参无参)
public class Goods {
private int id;
private double price;
private String name;
public Goods() {
}
public Goods(int id, double price, String name) {
this.id = id;
this.price = price;
this.name = name;
}
@Override
public String toString() {
return id+"\t"+price+"\t"+name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2.再单创建一个键盘录入方法类,用于我们与计算机的交流
该类可以先设置一个键盘录入,需要用到的时候直接调用
在调用方法的时候可以设置一个有参构造用来提示用户需要做什么
public class Myuser {
static Scanner sc = new Scanner(System.in);
public static int getInt(String tip){
System.out.println(tip);
return sc.nextInt();
}
public static double getdouble(String tip){
System.out.println(tip);
return sc.nextDouble();
}
public static String getString(String tip){
System.out.println(tip);
return sc.next();
}
}
3,构建我们的管理系统主框架
一:登录前提(main方法里直接调用)>>>>>>>(show方法)
设置了一个猜数字游戏,没猜对就重复循环直至猜对进入show方法
while (true) {
int random = Myuser.getInt("请输入一个幸运数字");
int i = new Random().nextInt(5);
if (i == random) {
show();
break;
} else {
System.out.println("没猜对再试试");
System.out.println("-----------------------------");
}
}
二:登录系统(调用show方法)>>>>>>>(body方法)
设置登录用户与密码
通过对用户名与密码的对比来继续向下运行,密码错误就退出程序,对了就调用body方法
public static void show() {
System.out.println("欢迎使用超市管理系统");
String user = "kxbb99";
String password = "888888";
String users = Myuser.getString("请输入用户名");
String passwords = Myuser.getString("请输入密码");
if (user.equals(users)&&password.equals(passwords)){
body();
}else {
System.out.println("抱歉,用户名或者密码错误");
System.exit(0);
}
}
三:任务管理系统(body方法)
先设置一个货物数组(调用之前创的货物类),且要存些已有的数据
Goods[] goods = new Goods[4];
goods[0] = new Goods(1, 11, "qq糖");
goods[1] = new Goods(2, 22, "ww糖");
goods[2] = new Goods(3, 33, "ee糖");
goods[3] = new Goods(4, 44, "rr糖");
进入主程序(用while(true)一直循环)
先对系统界面进行打印
while (true){
System.out.println("=================欢迎来到超市管理系统==================");
System.out.println("1:货物查询\t\2:新增货物\t3:删除货物\t4:修改货物\t5:退出");
int choseNum = Myuser.getInt("请输入你要操作的编号");
对输入的chosenum进行if判断
1:货物查询(for遍历数组)
if (choseNum == 1) {
for (int i = 0; i < goods.length; i++) {
System.out.println(goods[i]);
}
}
2:新增货物(先将数组长度扩大一再进行录入)
数组用Arrays.copyOf方法复制扩大一位
for遍历判断是否有输入的编码重复
用length-1来定位最新加的一个数组
set方法来添加新的数据
else if (choseNum == 2) {
goods = Arrays.copyOf(goods, goods.length + 1);
goods[goods.length-1] = new Goods();
int newid = Myuser.getInt("请输入新商品的编号");
double newprice = Myuser.getdouble("请输入新商品的价格");
String newname = Myuser.getString("请输入新商品的名称");
for (int i = 0; i < goods.length; i++) {
if (newid == goods[i].getId()) {
System.out.println("已经存在" + newid + "编号");
System.exit(0);
}
}
goods[goods.length-1].setId(newid);
goods[goods.length-1].setPrice(newprice);
goods[goods.length-1].setName(newname);
}
3:删除货物
for遍历判断是否有输入的编码
删除赋值null就行了(但会打印出来null,这就很无语)
这里感觉写的有些问题(但都是老东西了懒得纠结了)
else if (choseNum == 3){
int delid = Myuser.getInt("请输入要删除商品的编号");
for (int i = 0; i < goods.length; i++) {
if (delid == goods[i].getId()){
goods[i]=null;
}
}
}
4:修改货物
用for遍历定位到要修改的数组,set修改
(这里没有设置编码不存在的对策,因为懒)
else if (choseNum == 4){
int reid = Myuser.getInt("请输入需要修改的编号");
for (int i = 0; i < goods.length; i++) {
if (reid == goods[i].getId()){
int newid = Myuser.getInt("请输入修改的新id");
double newprice = Myuser.getdouble("请输入修改的新价格");
String newname = Myuser.getString("请输入修改的新名称");
goods[reid].setId(newid);
goods[reid].setPrice(newprice);
goods[reid].setName(newname);
}
}
}
5:退出系统
else if (choseNum ==5){
System.out.println("感谢使用超市管理系统");
System.exit(0);
}
6:输入了1-5以外的数字
提示输入有误
else {
System.out.println("输入的数字错误重新输入");
}
所有代码:
代码有些小问题但懒得改了
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
while (true) {
int random = Myuser.getInt("请输入一个幸运数字");
int i = new Random().nextInt(1);
if (i == random) {
show();
break;
} else {
System.out.println("没猜对再试试");
System.out.println("-----------------------------");
}
}
}
public static void show() {
System.out.println("欢迎使用超市管理系统");
String user = "kxbb99";
String password = "888888";
String users = Myuser.getString("请输入用户名");
String passwords = Myuser.getString("请输入密码");
if (user.equals(users)&&password.equals(passwords)){
body();
}else {
System.out.println("抱歉,用户名或者密码错误");
System.exit(0);
}
}
public static void body() {
Goods[] goods = new Goods[4];
goods[0] = new Goods(1, 11, "qq糖");
goods[1] = new Goods(2, 22, "ww糖");
goods[2] = new Goods(3, 33, "ee糖");
goods[3] = new Goods(4, 44, "rr糖");
while (true){
System.out.println("=================欢迎来到超市管理系统==================");
System.out.println("1:货物查询\t\2:新增货物\t3:删除货物\t4:修改货物\t5:退出");
int choseNum = Myuser.getInt("请输入你要操作的编号");
if (choseNum == 1) {
for (int i = 0; i < goods.length; i++) {
System.out.println(goods[i]);
}
}
else if (choseNum == 2) {
goods = Arrays.copyOf(goods, goods.length + 1);
goods[goods.length-1] = new Goods();
int newid = Myuser.getInt("请输入新商品的编号");
double newprice = Myuser.getdouble("请输入新商品的价格");
String newname = Myuser.getString("请输入新商品的名称");
for (int i = 0; i < goods.length; i++) {
if (newid == goods[i].getId()) {
System.out.println("已经存在" + newid + "编号");
System.exit(0);
}
}
goods[goods.length-1].setId(newid);
goods[goods.length-1].setPrice(newprice);
goods[goods.length-1].setName(newname);
}
else if (choseNum == 3){
int delid = Myuser.getInt("请输入要删除商品的编号");
for (int i = 0; i < goods.length; i++) {
if (delid == goods[i].getId()){
goods[i]=null;
}
}
}
else if (choseNum == 4){
int reid = Myuser.getInt("请输入需要修改的编号");
for (int i = 0; i < goods.length; i++) {
if (reid == goods[i].getId()){
int newid = Myuser.getInt("请输入修改的新id");
double newprice = Myuser.getdouble("请输入修改的新价格");
String newname = Myuser.getString("请输入修改的新名称");
goods[reid].setId(newid);
goods[reid].setPrice(newprice);
goods[reid].setName(newname);
}
}
}
else if (choseNum ==5){
System.out.println("感谢使用超市管理系统");
System.exit(0);
}
else {
System.out.println("输入的数字错误重新输入");
}
}
}
}
class Myuser {
static Scanner sc = new Scanner(System.in);
public static int getInt(String tip){
System.out.println(tip);
return sc.nextInt();
}
public static double getdouble(String tip){
System.out.println(tip);
return sc.nextDouble();
}
public static String getString(String tip){
System.out.println(tip);
return sc.next();
}
}
class Goods {
private int id;
private double price;
private String name;
public Goods() {
}
public Goods(int id, double price, String name) {
this.id = id;
this.price = price;
this.name = name;
}
@Override
public String toString() {
return id+"\t"+price+"\t"+name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
这个博客展示了如何创建一个简单的超市管理系统,包括货物类、用户输入方法类以及管理系统主框架。用户通过登录验证后,可以进行货物查询、新增、删除和修改操作,所有操作都基于键盘输入与控制台输出。程序中还包含一个猜数字游戏作为登录前提,增加了互动性。
3734

被折叠的 条评论
为什么被折叠?



