/*超市购物程序设计:
分析对象:1、超市 2、购物者 3、商品
购物过程:1、欢迎来到某某超市 2、列举超市的商品 3、选择商品 4、买到了;没买到 5、欢迎下次光临
*/
//创建超市类
class Supermarket{
//声明超市名
private String supermarketName;
//提供supermarketName的set和get方法
public void setSupermarketName(String supermarketName){
this.supermarketName=supermarketName;
}
public String getSupermarketName(){
return supermarketName;
}
//创建超市的仓库,里面有若干商品
private Product[] productArr;
//提供productArr的set和get方法
public void setProductArr(Product[] productArr){
this.productArr=productArr;
}
public Product[] getProductArr(){
return productArr;
}
//循环遍历仓库中的每一个商品
public Product sell(String productName){
for(int i=0;i<productArr.length;i++){
//如果商品名称和所选商品名称一致,则将该商品返回
if(productArr[i].getProductName()==productName)
return productArr[i];//返回该商品的地址
}
//循环结束后若没找到商品,返回值null代表没买到
return null;
}
//循环遍历仓库中的每一个商品,并输出商品名
public void print(){
for(int i=0;i<productArr.length;i++){
System.out.println((i+1)+"、"+productArr[i].getProductName());
}
}
}
//创建购物者类
class Person{
//人名
private String personName;
//提供personName的set和get方法
public void setPersonName(String personName){
this.personName=personName;
}
public String getPersonName(){
return personName;
}
//购物,指定去哪个超市,指定商品名
Product shopping(Supermarket supermarket,String productName){
//调用超市的sell方法,指定商品名,把判断后的结果返回
return supermarket.sell(productName);
}
}
//创建商品类
class Product{
//声明商品名称
private String productName;
//提供productName的set和get方法
public void setProductName(String productName){
this.productName=productName;
}
public String getProductName(){
return productName;
}
}
//创建超市购物过程
class SupermarketShopping{
//创建购物前的方法,指定超市和人
public SupermarketShopping(Supermarket market,Person person,String productName){
System.out.println("欢迎来到"+market.getSupermarketName()+"超市-----------");
System.out.println(person.getPersonName()+"您好,我们的商品有:");
market.print();
System.out.println("请选择您所要的商品");
Product result=person.shopping(market,productName);
if(result!=null){
System.out.println(person.getPersonName()+",您在"+market.getSupermarketName()+"超市买到了"+result.getProductName());
}else{
System.out.println(person.getPersonName()+",您在"+market.getSupermarketName()+"超市什么都没买到");
}
System.out.println("欢迎下次光临"+market.getSupermarketName()+"超市----------");
System.out.println();
}
}
class testSupermarket_02{
public static void main(String[] args){
//创建人对象,给名字赋值
Person p1=new Person();
Person p2=new Person();
Person p3=new Person();
Person p4=new Person();
p1.setPersonName("张三");
p2.setPersonName("李四");
p3.setPersonName("王五");
p4.setPersonName("赵六");
//创建商品对象,给商品赋值
Product a1=new Product();
Product a2=new Product();
Product a3=new Product();
Product a4=new Product();
Product a5=new Product();
Product a6=new Product();
a1.setProductName("茶");
a2.setProductName("薯片");
a3.setProductName("面包");
a4.setProductName("可乐");
a5.setProductName("雪糕");
a6.setProductName("方便面 ");
//创建超市对象
Supermarket s1=new Supermarket();
Supermarket s2=new Supermarket();
Supermarket s3=new Supermarket();
Supermarket s4=new Supermarket();
//给超市名字赋值,并给仓库赋值
s1.setSupermarketName("百货");
s1.setProductArr(new Product[]{a1,a2,a3,a4,a5,a6});
/*
Monkey m=new Monkey();
Monkey m[]=new Monkey[10]
Monkey m1=new Monkey("笑话",'男')
Monkey m2=new Monkey("小话",'男')
Monkey m3=new Monkey("小白",'男')
Monkey m[]=new Monkey[]{m1,m2,m3}
Monkey m[]={m1,m2,m3}*/
s2.setSupermarketName("家乐福");
s2.setProductArr(new Product[]{a1,a4,a5,a6});
s3.setSupermarketName("沃尔玛");
s3.setProductArr(new Product[]{a1,a2,a3,a4});
s4.setSupermarketName("永辉");
s4.setProductArr(new Product[]{a2,a3,a4,a5,a6});
//创建并调用购物方法,指定超市名、人名和超市商品名,得到购物结果
SupermarketShopping shopping1=new SupermarketShopping(s3,p3,"方便面 ");
SupermarketShopping shopping2=new SupermarketShopping(s1,p1,"薯片");
}
}
/*编译结果:
欢迎来到沃尔玛超市-----------
王五您好,我们的商品有:
1、茶
2、薯片
3、面包
4、可乐
请选择您所要的商品
王五,您在沃尔玛超市什么都没买到
欢迎下次光临沃尔玛超市----------
欢迎来到百货超市-----------
张三您好,我们的商品有:
1、茶
2、薯片
3、面包
4、可乐
5、雪糕
6、方便面
请选择您所要的商品
张三,您在百货超市买到了薯片
欢迎下次光临百货超市----------
*/
class Dog{
String name;
public void say(){
System.out.println("我是一只狗,主人叫我花花");
}
class ChildDog{
void talk(){
System.out.println("我是一只小狗狗,我的母亲的名字是花花");
}
}
}
class TestDog{
public static void main(String[] args){
Dog d1=new Dog();
d1.say();
Dog.ChildDog c1=d1.new ChildDog();
//Dog.ChildDog c1=new Dog().new ChildDog();
c1.talk();
}
}
/*运行结果:
我是一只狗,主人叫我花花
我是一只小狗狗,我的母亲的名字是花花*/
import java.util.Scanner;
import java.util.InputMismatchException;
public class ExceptionDemo2{
public static int add()throws InputMismatchException,Exception{
Scanner input=new Scanner(System.in);
System.out.println("请输入第一个数");
int num1=input.nextInt();
System.out.println("请输入第二个数");
int num2=input.nextInt();
return num1+num2;
}
public static void main(String args[]){
try{
System.out.println(add());
}catch(InputMismatchException e){
System.out.println("输入值与设置类型不匹配,请输入数字");
}catch(Exception e){
System.out.println("出现异常:"+e.toString());
}
}
}
/*运行结果:
请输入第一个数
12
请输入第二个数
abcd
输入值与设置类型不匹配,请输入数字*/
import java.util.Scanner;
public class ExceptionDemo2{
public static int add(){
Scanner input=new Scanner(System.in);
char ch;
System.out.println("请输入第一个数");
String s1=input.nextLine();
for(int i=0;i<s1.length();i++){
ch=s1.charAt(i);
if(!Character.isDigit(ch)){
System.out.println("输入错误,请重新输入第一个数");
s1=input.nextLine();
}
}
int num1=Integer.parseInt(s1);
System.out.println("请输入第二个数");
String s2=input.nextLine();
for(int i=0;i<s2.length();i++){
ch=s2.charAt(i);
if(!Character.isDigit(ch)){
System.out.println("输入错误,请重新输入第二个数");
s2=input.nextLine();
}
}
int num2=Integer.parseInt(s2);
return num1+num2;
}
public static void main(String args[]){
System.out.println(add());
}
}
/*运行结果:
请输入第一个数
abcd
输入错误,请重新输入第一个数
123
请输入第二个数
derf
输入错误,请重新输入第二个数
123
246*/
abstract class Animal{
public Animal(String name){
System.out.println("我是一只动物");
}
abstract void eat();
}
class Rabbit extends Animal{
public void eat(){
System.out.println("兔子吃胡萝卜");
}
/*public Rabbit(){
super("兔子");
}*/
}
class Example_20{
public static void main(String[] args){
Rabbit rab=new Rabbit();
rab.eat();
}
}
class Person{
void eat(){
System.out.println("吃饭");
}
void sleep(){
System.out.println("睡觉");
}
}
class Student extends Person{
void shout(){
System.out.println("学生上课");
}
}
class Teacher extends Person{
void speak(){
System.out.println("老师教课");
}
}
class Example_21{
public static void main(String[] args){
Student s1=new Student();
Teacher T1=new Teacher();
s1.eat();
s1.sleep();
System.out.println("-----");
T1.eat();
T1.sleep();
T1.speak();
}
}
class Phone{
void call(){
System.out.println("打电话");
}
}
class NewPhone extends Phone{
void call(){
System.out.println("开启语音");
super.call();
System.out.println("关闭语音");
}
}
class Example_22{
public static void main(String[] args){
System.out.println("---重写前---");
Phone p1=new Phone();
p1.call();
System.out.println("---重写后---");
NewPhone p2=new NewPhone();
p2.call();
}
}
class Fu{
Fu(){}
int num=20;
}
class Zi extends Fu{
Zi(){}
int num=30;
public void method(){
System.out.println("method");
System.out.println("Fu类中的num值为:"+super.num);
System.out.println("Zi类中的num值为:"+num);
}
}
class Example_23{
public static void main(String[] args){
Zi z1=new Zi();
z1.method();
}
}
class Fu{
public Fu(){}
public void show(){
System.out.println("Fu show");
}
}
class Zi extends Fu{
public Zi(){
System.out.println("Zi method");
}
public void method(){
super.show();
}
}
class Example_24{
public static void main(String[] args){
Zi z1=new Zi();
z1.method();
}
}
class Fu{
Fu(){
System.out.println("Fu类构造方法!");
}
}
class Zi extends Fu{
Zi(){
super();
System.out.println("Zi类构造方法!");
}
}
class Example_25{
public static void main(String[] args){
Zi z1=new Zi();
}
}
final class Fu{}
class Zi extends Fu{}
class Example_26{
public static void main(String[] args){
Zi z1=new Zi();
}
}
class Fu{
final public void show(){
System.out.println("Fu show");
}
}
class Zi extends Fu{
public void show(){
System.out.println("Zi show");
}
}
class Example_27{
public static void main(String[] args){
Zi z1=new Zi();
z1.show();
}
}
class Example_28{
public static final int age=18;
public static void main(String[] args){
age=20;
}
}
class Fu{
final int X=18;
}
class Zi extends Fu{
X=20;
}
class Example_29{
public static void main(String[] args){
Zi z1=new Zi();
}
}
class MyException extends Exception{
int b;
public MyException(){
super();
}
public MyException(String message,int b){
super(message);
this.b=b;
}
}
public class Example19{
void divide(int b) throws MyException{
if(b<0){
throw new MyException("你给的除数是:"+b+"而我们的要求是:除数不能为负数",b);
}
if(b==0){
throw new MyException("你给的除数是:"+b+"而我们的要求是:除数不能为0",b);
}
}
}
public static void main(String[] args){
int a=2;
int b=-2;
float c;
try{
c=a/b;
divide(b);
}catch(MyException e){
System.out.println(e.getMessage());
}
}
}
import java.util.Scanner;
public class ExceptionDemo2{
public static int add(){
Scanner input=new Scanner(System.in);
char ch;
System.out.println("请输入第一个数");
String s1=input.nextLine();
for(int i=0;i<s1.length();i++){
ch=s1.charAt(i);
if(!Character.isDigit(ch)){
System.out.println("输入错误,请重新输入第一个数");
s1=input.nextLine();
}
}
int num1=Integer.parseInt(s1);
System.out.println("请输入第二个数");
String s2=input.nextLine();
for(int i=0;i<s2.length();i++){
ch=s2.charAt(i);
if(!Character.isDigit(ch)){
System.out.println("输入错误,请重新输入第二个数");
s2=input.nextLine();
}
}
int num2=Integer.parseInt(s2);
return num1+num2;
}
public static void main(String args[]){
System.out.println(add());
}
}
import java.util.Scanner;
import java.util.InputMismatchException;
public class ExceptionDemo2_1{
public static int add()throws InputMismatchException,Exception{
Scanner input=new Scanner(System.in);
System.out.println("请输入第一个数");
int num1=input.nextInt();
System.out.println("请输入第二个数");
int num2=input.nextInt();
return num1+num2;
}
public static void main(String args[]){
try{
System.out.println(add());
}catch(InputMismatchException e){
System.out.println("输入值与设置类型不匹配,请输入数字");
}catch(Exception e){
System.out.println("出现异常:"+e.toString());
}
}
}
class MyException extends Exception{
int b;
MyException(){
super();
}
MyException(String message,int b){
super(message);
this.b=b;
}
}
public class MyExceptionTest{
static void divide(int b)throws MyException{
if(b<0){
throw new MyException("你给的除数是:"+b+",而我们的要求是:除数不能为负数",b);
}
if(b==0){
throw new MyException("你给的除数是:"+b+",而我们的要求是:除数不能为0",b);
}
}
public static void main(String[] args){
int a=2;
int b=-2;
float c;
try{
divide(b);
c=a/b;
}catch(MyException e){
System.out.println(e.getMessage());
}
}
}
//Product商品类
//商品类
public class Product{
//定义商品名称
private String proName;
//get⽅法
public String getProductName(){
return proName;
}
//set方法
public void setProduct(String proName){
this.proName = proName;
}
}
//Supermarket超市类
//超市类
public class Supermarket{
//1.定义超市名称,设置方法
private String supermaketName;
public String getSupermaketName(){
return supermaketName;
}
public void setSupermaketName(String supermaketName){
this.supermaketName = supermaketName;
}
//2.定义货架数组
private Product[] productArr;
public Product[]getProductArr(){
return productArr;
}
public void setProductArr(Product[] productArr){
this.productArr = productArr;
}
//3.卖货方法
Product sell(String name){//传入要购买的商品名称
for(int i=0; i<productArr.length; i++){//遍历商品数组
if(productArr[i].getProductName()==name){
return productArr[i];
}else{
return null;
}
}
//三、Person购物者类
//购物者类
public class Person{
//1.定义人名字
private String personName;
public String getPersonName(){
return personName;
}
public void setPersonName(String personName){
this.personName = personName;
}
//2.购买方法
Product shopping(Supermarket market,String name){
return market.sell(name);//传入超市和商品名//调用超市类卖货方法返回结果
}
}
//四、Shopping主类
public class Shopping{
public static void main(String[] args){
//1.创建商品对象
Product p1 =new Product();
Product p2 =new Product();
Product p3 =new Product();
Product p4 =new Product();
Product p5 =new Product();
Product p6 =new Product();
//2.调用商品类set法赋值
p1.setProduct("花⽥果酒");
p2.setProduct("菠萝蜜");
p3.setProduct("百事可乐");
p4.setProduct("乐事薯片");
p5.setProduct("康师傅金汤肥牛面");
p6.setProduct("红太狼专属平底锅");
//3.创建超市对象
Supermarket s1 =new Supermarket();
Supermarket s2 =new Supermarket();
Supermarket s3 =new Supermarket();
//4.调用set赋值
s1.setSupermaketName("家乐福");
s1.setProductArr(new Product[]{p1,p2,p3,p4,p5,p6});
s2.setSupermaketName("大润发");
s2.setProductArr(new Product[]{p1,p2,p3,p4,p5,p6});
s3.setSupermaketName("沃尔玛");
s3.setProductArr(new Product[]{p1,p2,p3,p4,p5,p6});
//5.创建对象
Person n1 =new Person();
Person n2 =new Person();
Person n3 =new Person();
//6.调用set法赋值
n1.setPersonName("小张");
n2.setPersonName("小刘");
n3.setPersonName("小杨");
n3.shopping(s2,"小杨");
Product result=s2.sell("康师傅金汤肥牛面");
if(result == null){
System.out.println("Emmmmmm,"+n3.getPersonName()+"逛了一圈"+s2.getSupermaketName()+"超市,居然什么也没买到");
}else{
System.out.println(n3.getPersonName()+"逛了一圈"+s2.getSupermaketName()+"超市后,买到了传说中的"+result.getProductName()); }
}
}
class Dog{
String name;
public void say(){
System.out.println("我是一只狗,主人叫我花花");
}
class ChildDog{
void talk(){
System.out.println("我是一只小狗狗,我的母亲的名字是花花");
}
}
}
class TestDog{
public static void main(String[] args){
Dog d1=new Dog();
d1.say();
Dog.ChildDog c1=d1.new ChildDog();
//Dog.ChildDog c1=new Dog().new ChildDog();
c1.talk();
}
}
class testSupermarket_02{
public static void main(String[] args){
Supermarket s1=new Supermarket();
Supermarket s2=new Supermarket();
Supermarket s3=new Supermarket();
Supermarket s4=new Supermarket();
s1.setSupermarketName("百货");
s1.setProductNumber(new Product[]{a1,a2,a3,a4,a5,a6});
s2.setSupermarketName("家乐福");
s2.setProductNumber(new Product[]{a1,a4,a5,a6});
s3.setSupermarketName("沃尔玛");
s3.setProductNumber(new Product[]{a1,a2,a3,a4});
s4.setSupermarketName("永辉");
s4.setProductNumber(new Product[]{a2,a3,a4,a5,a6});
Person p1=new Person();
Person p2=new Person();
Person p3=new Person();
Person p4=new Person();
p1.setPersonName("张三");
p2.setPersonName("李四");
p3.setPersonName("王五");
p4.setPersonName("赵六");
Product a1=new Product();
Product a2=new Product();
Product a3=new Product();
Product a4=new Product();
Product a5=new Product();
Product a6=new Product();
a1.setproductName("茶水");
a2.setproductName("薯片");
a3.setproductName("面包");
a4.setproductName("可乐");
a5.setproductName("雪糕");
a6.setproductName("方便面 ");
Product return=p1.shopping(s1,"张三");
}
}
public class Supermarket{
private String supermarketName;
private Product[] productArr;
public void setSupermarketName(String supermarketName){
this.supermarketName=supermarketName;
}
public String getSupermarketName(){
return supermarketName;
}
public void setProductArr(Product[] productArr){
this.productArr=productArr;
}
public Product[] getProductArr(){
return productArr;
}
Product sell(String name){
for(int i=0;i<productArr.length;i++){
if(productArr[i].getPersonName()==name){
return productArr[i];
}
}
return null;
}
}
class Person{
private String name;
public String personName;
public void getPersonName(String personName){
this.personName=personName;
}
Product Shopping(Supermarket supermarket,String name){
return Supermarket.sell(name);
}
}
class Product{
private String productName;
public void setProductName(String productName){
this.productName=productName;
}
public String getProductName(){
return productName;
}
}
}
abstract class Shape1{
String name;
void Shape1(String name){
this.name=name;
}
abstract double ShapeArea(float r);
abstract double ShapePeri(float r);
}
class Circle extends Shape1{
double ShapeArea(float r){
return 3.1415926*r*r;
}
double ShapePeri(float r){
return 2*3.1415926*r;
}
}
class Example4_1{//类名要改为Test
public static void main(String[] args){
Circle yuan=new Circle();
double area=yuan.ShapeArea(5.0f);
System.out.printf("圆的面积=%.5f\n",area);
double length=yuan.ShapePeri(5.0f);
System.out.println("圆的周长="+length);
}
}
import java.io.*;
public class FileInputStreamTest{
//static String name="test.txt";
static String name="D:/test.txt";
static BufferedReader br=null;
public static void main(String args[])throws Exception{
try{
File f=new File(name);
FileReader fr=new FileReader(f);
br=new BufferedReader(fr);
String str=br.readLine();
System.out.println(str.toLowerCase());
}finally{
if(br!=null){
br.close();
}
}
}
}
interface USB{
void turnOn();
void turnOff();
}
class Mouse implements USB{
public void turnOn(){
System.out.println("鼠标启动了");
}
public void turnOff(){
System.out.println("鼠标关闭了");
}
}
class KeyBoard implements USB{
public void turnOn(){
System.out.println("键盘启动了");
}
public void turnOff(){
System.out.println("键盘关闭了");
}
}
class Mic implements USB{
public void turnOn(){
System.out.println("麦克风启动了");
}
public void turnOff(){
System.out.println("麦克风关闭了");
}
}
class Computer{
private USB usbArr[]=new USB[4];
public void add(USB usb){
for(int i=0;i<usbArr.length;i++){
if(usbArr[i]==null){
usbArr[i]=usb;
break;
}
}
}
public void computerOn(){
for(int i=0;i<usbArr.length;i++){
if(usbArr[i]!=null){
usbArr[i].turnOn();
}
}
System.out.println("电脑开机成功");
}
public void computerOff(){
for(int i=0;i<usbArr.length;i++){
if(usbArr[i]!=null){
usbArr[i].turnOff();
}
}
System.out.println("电脑关机成功");
}
}
public class TaskTest{
public static void main(String[] args){
Computer c=new Computer();
c.add(new Mouse());
c.add(new Mic());
c.add(new KeyBoard());
c.computerOn();
System.out.println();
c.computerOff();
}
}
import java.util.Scanner;
import java.util.InputMismatchException;
public class TestCatch{
public static int add()throws InputMismatchException,ArithmeticException{
Scanner input=new Scanner(System.in);
System.out.println("请输入第一个数");
int num1=input.nextInt();
System.out.println("请输入第二个数");
int num2=input.nextInt();
return num1/num2;
}
public static void main(String args[]){
try{
System.out.println("除数为"+add());
}catch(ArithmeticException e){
System.out.println("捕获到除数为0异常");
}
catch(InputMismatchException e){
System.out.println("捕获到参数输入有误异常");
}
}
}
import java.io.*;
public class FileInputStreamTest{
static String name="test.txt";
static BufferedReader br=null;
public static void main(String args[])throws Exception{
try{
File f=new File(name);
FileReader fr=new FileReader(f);
br=new BufferedReader(fr);
String str=br.readLine();
System.out.println(str.toLowerCase());
}finally{
if(br!=null){
br.close();
}
}
}
}
abstract class Shape{
String name;
public Shape(){};
public Shape(String name){
this.name=name;
}
abstract double ShapeArea(float r);
abstract double ShapePeri(float r);
}
class Circle extends Shape{
public static final double PI=3.1415926;
public double ShapeArea(float r){
return PI*r*r;
}
public double ShapePeri(float r){
return PI*2*r;
}
}
public class TestShape{
public static void main(String[] args){
Circle yuan=new Circle();
double area=yuan.ShapeArea(5.0f);
System.out.printf("圆的面积=%.5f",area);
System.out.println();
double length=yuan.ShapePeri(5.0f);
System.out.println("圆的周长="+length);
}
}
class Test{
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
/*
对象数组:就是数组里的每个元素都是类的对象,赋值时先定义对象,然后将对象直接赋给数组
int x[]=new int[10];
int x[]=new int[]{1,2,3,5}
int x[]={1,2,3,5}
Monkey m=new Monkey();
Monkey m[]=new Monkey[10]
Monkey m1=new Monkey("笑话",'男')
Monkey m2=new Monkey("小话",'男')
Monkey m3=new Monkey("小白",'男')
Monkey m[]=new Monkey[]{m1,m2,m3}
Monkey m[]={m1,m2,m3}
*/
//Monkey类
class Monkey{
private String name;
private char sex;
public Monkey(){}
public Monkey(String name,char sex){
this.name=name;
this.sex=sex;
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setSex(char sex){
this.sex=sex;
}
public char getSex(){
return sex;
}
}
class MonkeyManager{
private Monkey[] monkey=new Monkey[10];
private int count=0;
public void add(Monkey m){
if (count<m.length) {
monkey[count]=m;
count++;
}else{
System.out.println("full");
}
}
public void delete(String name){
for(int i=0;i<count;i++){
if(monkey[i].getName().equals(name){
for(int j=i;j<count-1;j++){
monkey[j]=monkey[j+1];
}
monkey[count-1]=null;
count--;
break;
}
}
}
}