要求1、自定义商品类,不少于5种商品,每种商品不低于三个属性,至少有一个方法。
2、商品类之间要体现继承关系,使用抽象类或接口。
3、自定义用户类,实现注册登录功能,使用操作文件记录已注册的用户。
4、由已注册用户对商品库存进行增删改查操作并通过文件记录
有才能的人才啊,帮忙看看,非常紧急,希望在2022年5月25日上午9点前写完啊!。
抽象出一个基础类,父类继承extends就有了这个属性的字段
//定义一个父类
public class Human {
private String name;
private String sex;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Human(String name, String sex, int age) {
setName(name);
setSex(sex);
setAge(age);
}
public void eat() {
System.out.println(name + "在吃饭");
}
public void sleep() {
System.out.println(name + "在睡觉");
}
}
//一个子类
//类头定义父类的名称,一个类只可以继承一个父类
public class Student extends Human{
//定义子类的构造方法
//子类的构造方法的输入参数包含两部分,
//一部分是用来初始化继承于父类的属性,
//另一部分是初始化自身所特有的属性
public Student(String name, String sex, int age, String num, String schoolName) {
//类的构造方法方法体中,
//一部分初始化父类的属性,
//super来调用父类的构造方法来初始化来继承父类的属性
super(name, sex, age);
//另一部分初始化自身特有的属性
setNum(num);
setSchoolName(schoolName);
}
//定义子类特有的属性
private String num;//学号
private String schoolName;//学校
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getSchoolName() {
return schoolName;
}
public void setSchoolName(String schoolName) {
this.schoolName = schoolName;
}
//定义子类特有的方法
public void doHomework() {
System.out.println(getName() + "在做作业");
}
public void exam() {
System.out.println(getName() + "在考试");
}
}
public class Teacher extends Human {
public Teacher(String name, String sex, int age , String schoolName , String num) {
super(name, sex, age);
setSchoolName(schoolName);
setCourse(num);
}
private String schoolName;//所在学校
private String num;//工号
public String getSchoolName() {
return schoolName;
}
public void setSchoolName(String schoolName) {
this.schoolName = schoolName;
}
public String getCourse() {
return num;
}
public void setCourse(String num) {
this.num = num;
}
public void teach() {
System.out.println( getName() + "在上课" );
}
public void ready() {
System.out.println( getName() + "在备课" );
}
}
package csdn004;
import java.io.*;
import java.util.Properties;
import java.util.Scanner;
/**
* 1、自定义商品类,不少于5种商品,每种商品不低于三个属性,至少有一个方法。
* 2、商品类之间要体现继承关系,使用抽象类或接口。
* 3、自定义用户类,实现注册登录功能,使用操作文件记录已注册的用户。
* 4、由已注册用户对商品库存进行增删改查操作并通过文件记录。
*/
public class ShopTest {
public static void main(String[] args) throws IOException {
Fruit apple = new Apple();
apple.name = "苹果";
apple.age = 2;
apple.height = "3米";
System.out.println(apple);
Fruit banana = new Banana();
banana.name = "香蕉";
banana.age = 1;
banana.height = "10米";
System.out.println(apple);
Fruit orange = new Orange();
orange.name = "橘子";
orange.age = 1;
orange.height = "1米";
System.out.println(orange);
Fruit watermelon = new Watermelon();
watermelon.name = "西瓜";
watermelon.age = 1;
watermelon.height = "0.20米";
System.out.println(watermelon);
Fruit cucumber = new Cucumber();
cucumber.name = "黄瓜";
cucumber.age = 1;
cucumber.height = "0.10米";
System.out.println(cucumber);
// 准备文件
String fileName = "D://user.properties";
File file = new File(fileName);
if (!file.exists()) {
file.createNewFile();
}
fileWriterMethod(fileName,"user=admin\npassword=123456");
file.setWritable(true);
file.setReadable(true);
Properties props = new Properties();
BufferedReader bufferedReader = new BufferedReader(new FileReader(fileName));
props.load(bufferedReader);
boolean f = true;
while (f) {
System.out.println("0-登录");
System.out.println("1-注册");
Scanner scanner = new Scanner(System.in);
System.out.println("请输入序号");
int flag = scanner.nextInt();
if (flag < 0 || flag > 1) {
System.out.println("对不起,您输入的不是0或者1,请重新输入。");
continue;
}
switch (flag) {
case 0:
System.out.println("请输入用户名:");
String name = scanner.next();
System.out.println("请输入密码:");
String password = scanner.next();
String inFileUser = props.getProperty("user");
String inFilePassword = props.getProperty("password");
if (name.equals(inFileUser) && password.equals(inFilePassword)) {
System.out.println("登录成功!");
f = false;
}else {
System.out.println("登录失败,请注册或者检查用户名和密码是否正确");
}
break;
case 1:
System.out.println("请输入用户名:");
String regName = scanner.next();
System.out.println("请输入密码:");
String regPassword = scanner.next();
props.setProperty("user",regName);
props.setProperty("password",regPassword);
System.out.println("注册成功,请登录");
break;
default:
}
}
}
/**
* 方法 1:使用 FileWriter 写文件
* @param filepath 文件目录
* @param content 待写入内容
* @throws IOException
*/
public static void fileWriterMethod(String filepath, String content) throws IOException {
try (FileWriter fileWriter = new FileWriter(filepath)) {
fileWriter.append(content);
}
}
}
abstract class Fruit {
public String name;
public String height;
public Integer age;
@Override
public String toString() {
return "Fruit{" +
"name='" + name + '\'' +
", height='" + height + '\'' +
", age=" + age +
'}';
}
}
/**
* 苹果
*/
class Apple extends Fruit{
public Apple() {}
}
/**
* 香蕉
*/
class Banana extends Fruit{
}
/**
* 橘子
*/
class Orange extends Fruit {
}
/**
* 西瓜
*/
class Watermelon extends Fruit {
}
/**
* 黄瓜
*/
class Cucumber extends Fruit {
}
class User {
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
package com.j2se.myInstances.example6_1;
import java.util.*;
public class Demo {
private static List<Product> products = new ArrayList<Product>();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Product product = new Product("iPhone X", "Red", 5999, 3);
products.add(product);
int choose;
while (true) {
printMenu();
choose = sc.nextInt();
if (choose == 1) {
Product p = new Product();
System.out.println("产品名称:");
String pname = sc.next();
System.out.println("产品颜色:");
String pcolor = sc.next();
System.out.println("产品价格:");
double price = sc.nextDouble();
System.out.println("产品数量:");
int pnum = sc.nextInt();
p.setName(pname);
p.setColor(pcolor);
p.setPrice(price);
p.setNum(pnum);
addProduct(p);
} else if (choose == 2) {
showInfo(products);
System.out.println("\n");
} else if (choose == 3) {
System.out.println("请输入需要删除的商品编号:");
int i = sc.nextInt();
delete(i);
} else {
System.out.println("输入有误,请重新输入!");
}
}
}
public static void delete(int i) {
i--;
products.remove(i);
System.out.println("出库成功!\n");
}
public static void addProduct(Product p) {
products.add(p);
System.out.println("产品已入库\n");
}
public static void showInfo(Collection<Product> products) {
Iterator<Product> it = products.iterator();
System.out.println("编号\t产品名称\t\t颜色\t价格\t\t库存");
int n = 1;
while (it.hasNext()) {
Product p = it.next();
System.out.println(n+"\t"+p.getName() + "\t" + p.getColor() + "\t" + p.getPrice() + "\t" + p.getNum());
n++;
}
}
public static void printMenu() {
System.out.println("欢迎使用库房管理系统~");
System.out.println("1. 商品入库");
System.out.println("2. 商品展示");
System.out.println("3. 商品出库");
System.out.println("请输入您要选择的操作:");
}
}
public class Test {
public static void main(String[] args) {
List<Fruit> fruitList = new ArrayList<>();
init(fruitList);
Scanner scanner = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = scanner.next();
System.out.println("请输入密码:");
String password = scanner.next();
if (name.equals("admin") && password.equals("123456")) {
System.out.println("登录成功!");
System.out.println("商品如下");
for(Fruit fruit : fruitList){
System.out.println(fruit);
}
} else {
System.out.println("登录失败,请注册或者检查用户名和密码是否正确");
}
}
private static void init(List<Fruit> fruitList){
Fruit apple = new Fruit();
apple.name = "苹果";
apple.price = 2;
apple.color = "红色";
fruitList.add(apple);
Fruit banana = new Fruit();
banana.name = "香蕉";
banana.price = 1;
banana.color = "黄色";
fruitList.add(banana);
Fruit orange = new Fruit();
orange.name = "橘子";
orange.price = 1;
orange.color = "橙色";
fruitList.add(orange);
Fruit watermelon = new Fruit();
watermelon.name = "西瓜";
watermelon.price = 1;
watermelon.color = "绿色";
fruitList.add(watermelon);
Fruit cucumber = new Fruit();
cucumber.name = "黄瓜";
cucumber.price = 1;
cucumber.color = "黄色";
fruitList.add(cucumber);
}
static class Fruit {
public String name;
public String color;
public Integer price;
@Override
public String toString() {
return new StringJoiner(", ")
.add("name='" + name + "'")
.add("color='" + color + "'")
.add("price=" + price)
.toString();
}
}
}
我猜 你是来交作业的