面向对象(java菜鸟的课堂笔记)
import java.util.*; //调包
public class Main{ //建一个主类
static Scanner sc = new Scanner(System.in);
static int i = 0;
static Chaoshi[] shop = new Chaoshi[100];
public static void main(String[] args){ //主入口
menu(); //调用菜单方法
}
public static void menu(){ //定义一个菜单方法
System.out.println("============================");
System.out.println("》欢迎进入超市库存统计系统《");
System.out.println("=》 请输入对应数字进行操作《");
System.out.println("=======》 1,进货存储 《");
System.out.println("=======》 2,修改信息 《");
System.out.println("=======》 3,查询库存 《");
System.out.println("=======》 4,退出操作系统 《");
System.out.println("============================");
int a = sc.nextInt(); //用户输入
switch (a){
case 1:adds(); break;
case 2:update(); break;
case 3:select(); break;
case 4:exit(); break;
default:System.out.println("====输入有误,请重新输入====");
menu();
break;
}
}
public static void adds(){ //定义一个存货方法
System.out.println("=========请输入货物名称=========");
String sname = sc.next();
System.out.println("=========请输入货物类型=========");
String sclass = sc.next();
System.out.println("=========请输入货物价格=========");
String sprice = sc.next();
System.out.println("=========请输入货物数量=========");
String snum = sc.next();
Chaoshi shop1 = new Chaoshi(sname,sclass,sprice,snum);
shop[i] = shop1;
i++;
System.out.println("输入成功,继续输入(1),返回菜单(2)");
int flage = sc.nextInt();
if(flage==1){
adds();
}else menu();
}
public static void update(){ //定义一个修改方法
System.out.println("请输入商品名称,为您修改");
String b = sc.next();
for(i=0;i<100;i++){
if(b.equals(shop[i].sname)){
System.out.println("===================查询结果如下===================");
shop[i].say();
System.out.println("=========请输入修改后货物名称=========");
String sname = sc.next();
System.out.println("=========请输入修改后货物类型=========");
String sclass = sc.next();
System.out.println("=========请输入修改后货物价格=========");
String sprice = sc.next();
System.out.println("=========请输入修改后货物数量=========");
String snum = sc.next();
Chaoshi shop1 = new Chaoshi(sname,sclass,sprice,snum);
shop[i] = shop1;
System.out.println("继续修改(1),返回菜单(2)");
int flage = sc.nextInt();
if(flage==1){
update();
}else menu();
}
}
}
public static void select(){ //定义一个查询方法
System.out.println("指定查询(1),全部查询(2)");
int a = sc.nextInt();
if(a==1){
System.out.println("请输入商品名称,为您查询");
String b = sc.next();
for(i=0;i<100;i++){
if(b.equals(shop[i].sname)){
System.out.println("===================查询结果如下===================");
shop[i].say();
System.out.println("继续查询(1),返回菜单(2)");
int flage = sc.nextInt();
if(flage==1){
select();
}else menu();
}
}
}else{
for(Chaoshi s:shop){
if(s!=null){
s.say();
}
}
System.out.println("继续查询(1),返回菜单(2)");
int flage = sc.nextInt();
if(flage==1){
select();
}else menu();
}
}
public static void exit(){ //定义一个退出方法
System.out.println("===》》》您已退出操作系统《《《===");
System.exit(0);
}
}
public class Chaoshi{ //新建一个超市类
String sname;
String sclass;
String sprice;
String snum;
public Chaoshi(String sname,String sclass,String sprice,String snum){
this.sname = sname;
this.sclass = sclass;
this.sprice = sprice;
this.snum = snum;
}
public void say(){
System.out.println("名称:"+sname+"\n种类:"+sclass+"\n价格:"+sprice+"\n数量:"+snum+"\n"); //定义一个输出方式
}
}
面向对象(java菜鸟的课堂笔记)的更多相关文章
- 泛型(java菜鸟的课堂笔记)
1. 泛型的简单运 用和意义 2. 泛型的上限与下限 3. 泛型和 子类继承的限制 4. 泛型类和泛型 方法 5. 泛型嵌套和泛型擦除 ...
- java中的一些规则(菜鸟的课堂笔记)
ls 查看目录下文件 java规则 代码都定义在类中,用class定义 禁止一个源文件写两个类: 一个源文件中,只能有一个类文件是pubic: 一个源文件中如果有多个类,编译完之后会产生多个class ...
- C#面向对象编程基础-喜课堂笔记
**************[5][C#面向对象编程基础]第1讲:类与对象**************** *************2.1.1_类与对象的概念**** ...
- java GUI (课堂笔记)
关于java GUI Swing组件: JFrame 窗口组件 JLabel 标签 JButton 按钮组件 JTextField 单行文本框 系统控件(JDK自带) 自定义控件(模仿系统控件): 继 ...
- Java基础进阶:内部类lambda重点摘要,详细讲解成员内部类,局部内部类,匿名内部类,Lambda表达式,Lambda表达式和匿名内部类的区别,附重难点,代码实现源码,课堂笔记,课后扩展及答案
内部类lambda重点摘要 内部类特点: 内部类可以直接访问外部类,包括私有 外部类访问内部类必须创建对象 创建内部对象格式: 外部类.内部类 对象名=new外部类().new内部类(); 静态内部类 ...
- 线程(java课堂笔记)
1.两种方式的差异 2.线程的生命周期 3.线程控制(线程的方法) 4.线程同步 5.线程同步锁 一. 两种方式的差异 A extends Thread :简单 不能再继承其他类了(Java单继承)同 ...
- Java课堂笔记(零):内容索引
回想自己学习和使用Java的时间也是很长了.本科期间课堂上浅尝辄止地学习了点皮毛,后来也是搁置不用,未曾深入研究.研究生期间因为项目和实习的原因,基本算是重新拾起Java这门语言,并且接触到了Spri ...
- Java基础进阶:多态与接口重点摘要,类和接口,接口特点,接口详解,多态详解,多态中的成员访问特点,多态的好处和弊端,多态的转型,多态存在的问题,附重难点,代码实现源码,课堂笔记,课后扩展及答案
多态与接口重点摘要 接口特点: 接口用interface修饰 interface 接口名{} 类实现接口用implements表示 class 类名 implements接口名{} 接口不能实例化,可 ...
- 九章算法系列(#3 Binary Tree & Divide Conquer)-课堂笔记
前言 第一天的算法都还没有缓过来,直接就进入了第二天的算法学习.前一天一直在整理Binary Search的笔记,也没有提前预习一下,好在Binary Tree算是自己最熟的地方了吧(LeetCode ...
随机推荐
- Docker aufs存储驱动layer、diff、mnt目录的区别
Docker基础信息 首先,先查询Docker使用的后端存储.使用命令docker info,主要关注Storage Driver相关的部分. $ docker info ... Server Ver ...
- C++ 编译报错discards qualifiers [-fpermissive]
声明了一个类 class Card { public: Card(const string&); int m_value; char m_suit; private: const static ...
- StringBuilder的实现
先看看MS给出的官方解释吧 (http://msdn.microsoft.com/zh-cn/library/system.text.stringbuilder(VS.80).aspx) String ...
- 读书笔记 effctive c++ Item 52 如果你实现了placement new,你也要实现placement delete
1. 调用普通版本的operator new抛出异常会发生什么? Placement new和placement delete不是C++动物园中最常遇到的猛兽,所以你不用担心你对它们不熟悉.当你像下面 ...
- 【2017-04-21】Ado.Nte属性扩展
通过对数据库表的封装,对该表的属性进行扩展. 1.例如:表中的性别是bool类,要实现显示给用户看的为“男.女” 2.通过表中的生日datetime类,来实现显示给用户看的年月日,自动计算年龄. 3. ...
- 自定义list排序
使用扩展方法OrderBy,OrderByDescending,效果优良. 实现代码如下: private static void SortByExtensionMethod() { List< ...
- Vue 项目实战系列 (二)
上一章节我们已经把项目的初始化工作完成了,接下来我们再来进行具体的代码编写.这一节我们将完成如下的页面. 我们在src/目录下新建一个views文件夹,存放我们的主要页面文件.目录结构如下: cine ...
- poj1751最小生成树
The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has a very poor system of p ...
- 关于[JAVA] Apache FTPClient.listFiles()操作“卡死”问题的分析和解决
项目中使用commons-net-3.0.1.jar实现FTP文件的下载,程序运行到 FTPClient.listFiles()或者FTPClient.retrieveFile()方法时,就停止在那里 ...
- Installing MySQL on Microsoft Windows Using a noinstall Zip Archive
这两天在自己的windows上安装了一下mySql数据库,安装使用的是5.7.18版本的 noinstall Zip Archive安装包mysql-5.7.18-win32.zip.由于5.7版本相 ...