1点名器
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner; class CallName3
{
public static void main(String[] args)
{
ArrayList<String> list=new ArrayList<String>(); while(true){
System.out.println("1.存储同学名字");
System.out.println("2.查看全班同学");
System.out.println("3.点名");
System.out.println("4.退出");
System.out.println("请输入您选择的编号:"); Scanner sc=new Scanner(System.in);
int choose=sc.nextInt(); switch(choose){
case 1:
saveAll(list);
break;
case 2:
showAll(list);
break;
case 3:
callOne(list);
break;
case 4:
System.out.println("您已退出");
return;
}
}
} //存储
public static void saveAll(ArrayList<String> list){
System.out.println();
System.out.println("请输入您要录入的同学数量:"); //还可以这样:
//System.out.println("您还要继续添加吗?");
//System.out.println("1.继续 2.取消"); Scanner sc=new Scanner(System.in);
int num=sc.nextInt(); for(int i=0;i<num;i++){
System.out.println("请输入第"+(i+1)+"位同学的姓名:");
list.add(sc.next());
}
System.out.println(num+"名同学已录入成功!");
System.out.println();
}; //总览
public static void showAll(ArrayList<String> list){
System.out.println();
System.out.println("全班同学为:"); for(int i=0;i<list.size();i++){
System.out.print(list.get(i)+" ");
};
System.out.println();
System.out.println();
}; //随机点名
public static void callOne(ArrayList<String> list){
System.out.println();
System.out.println("点到的同学为:"); Random r=new Random();
int i=r.nextInt(list.size()); System.out.println(list.get(i));
System.out.println();
}
}
2库存管理
class Pro
{
String proName; //商品名
double proSize; //商品尺寸
double proPrice; //商品价格
int proNum; //库存
}
import java.util.Scanner;
import java.util.ArrayList;
class Stock2
{
public static void main(String[] args)
{
//创建Pro对象并初始化数据
Pro mac=new Pro();
mac.proName="MacBookAir";
mac.proSize=13.3;
mac.proPrice=6988.88;
mac.proNum=5; Pro think=new Pro();
think.proName="ThinkpadT450";
think.proSize=14.0;
think.proPrice=5999.99;
think.proNum=10; Pro as=new Pro();
as.proName="ASUS-FL5800";
as.proSize=15.6;
as.proPrice=4999.5;
as.proNum=18; ArrayList<Pro> prolist=new ArrayList<Pro>(); //创建集合 //把对象加入集合
prolist.add(mac);
prolist.add(think);
prolist.add(as); //功能选择
while(true){
System.out.println("----------库存管理----------");
System.out.println("1.查看库存清单");
System.out.println("2.修改商品库存数量");
System.out.println("3.退出");
System.out.println("请输入要执行的操作序号:"); Scanner sc=new Scanner(System.in);
int select=sc.nextInt(); if(select==1){
showList(prolist);
}
if(select==2){
modifyNum(prolist);
}
if(select==3){
signOut();
break;
}
}
} //查看库存清单
public static void showList(ArrayList<Pro> prolist){
System.out.println();
System.out.println("--------------------商城库存清单----------------------------");
System.out.println("编号\t品牌型号\t尺寸\t价格\t\t库存数"); //打印商品
for(int i=0;i<prolist.size();i++){
System.out.println(" "+(i+1)+"\t"+prolist.get(i).proName+"\t"+prolist.get(i).proSize+"\t"+prolist.get(i).proPrice+"\t\t"+prolist.get(i).proNum);
} System.out.println("------------------------------------------------------------"); int sumNum=0; //总库存
for(int i=0;i<prolist.size();i++){
sumNum+=prolist.get(i).proNum;
}
System.out.println("总库存数:"+sumNum); double sumMoney=0; //总金额
for(int i=0;i<prolist.size();i++){
sumMoney+=prolist.get(i).proPrice*prolist.get(i).proNum;
}
System.out.println("库存商品总金额:"+sumMoney); System.out.println();
System.out.println();
} //修改库存
public static void modifyNum(ArrayList<Pro> prolist){
System.out.println();
Scanner sc=new Scanner(System.in); while(true){
System.out.println("请输入您要修改的商品编号");
int proId=sc.nextInt(); if(proId>0&&proId<=prolist.size()){ //必须输入正确的编号范围
System.out.println("请输入您要修改的库存数量");
int afterNum=sc.nextInt(); prolist.get(proId-1).proNum=afterNum;
System.out.println(); break;
}
}
} //退出
public static void signOut(){
System.out.println("您已退出");
}
}
3 超市商品管理
public class Pro {
String num; //商品编号
String name; //商品名称
double price; //商品单价
}
package com.oracle.demo01; import java.util.ArrayList;
import java.util.Scanner; public class Stock{
public static void main(String[] args) {
//建商品对象
Pro p1=new Pro();
p1.num="9001";
p1.name="少林寺酥饼核桃";
p1.price=120.0; Pro p2=new Pro();
p2.num="9002";
p2.name="尚康杂粮牡丹饼";
p2.price=20.0; Pro p3=new Pro();
p3.num="9003";
p3.name="新疆原产哈蜜瓜";
p3.price=7.0; //商品对象加入集合
ArrayList<Pro> prolist=new ArrayList<Pro>();
prolist.add(p1);
prolist.add(p2);
prolist.add(p3); //菜单
while(true){
System.out.println("==========欢迎光临 oracle 超市==========");
System.out.println("1:货物清单 2:添加新货物 3:删除货物 4:修改货物");
System.out.println("5:退出系统");
System.out.println("请您输入要操作的功能序号:"); Scanner sc=new Scanner(System.in);
int choose=sc.nextInt();
switch(choose){
case 1:
showList(prolist);
break;
case 2:
addPro(prolist);
break;
case 3:
delPro(prolist);
break;
case 4:
editPro(prolist);
break;
case 5:
System.out.println("您已退出系统");
return;
}
}
} //显示商品
public static void showList(ArrayList<Pro> prolist){
System.out.println();
System.out.println("==========商品库存清单==========");
System.out.println("商品编号\t商品名称\t商品单价"); for(int i=0;i<prolist.size();i++){
System.out.println(prolist.get(i).num+"\t"+prolist.get(i).name+"\t"+prolist.get(i).price+"\t");
}
System.out.println();
} //添加商品
public static void addPro(ArrayList<Pro> prolist){
System.out.println(); Pro newPro=new Pro(); Scanner sc=new Scanner(System.in); System.out.println("请输入新水果的名称:");
newPro.name=sc.next(); //最好还是定义个变量 System.out.println("请输入新水果的编号:");
newPro.num=sc.next(); System.out.println("请输入新水果的单价:");
newPro.price=sc.nextDouble(); prolist.add(newPro); System.out.println("新商品已添加成功!");
System.out.println();
} //删除商品
public static void delPro(ArrayList<Pro> prolist){
System.out.println(); //showList(prolist); //删除之前先展示一下商品,体验更好
System.out.println("请输入您要删除的水果编号");
Scanner sc=new Scanner(System.in);
String dnum=sc.next(); for(int i=0;i<prolist.size();i++){
if(prolist.get(i).num.equals(dnum)){ //直接==是地址相等,因为是String是引用数据类型。如果判断不相等,可以前面加个!取反
prolist.remove(i);
}
}
System.out.println("水果信息删除完毕!");
System.out.println();
} //修改商品
public static void editPro(ArrayList<Pro> prolist){
System.out.println();
System.out.println("请输入您要修改信息的水果编号:");
Scanner sc=new Scanner(System.in);
String dnum=sc.next(); //用set来修改
System.out.println("请输入新的水果编号:");
String nnum=sc.next(); System.out.println("请输入新的水果名称:");
String nname=sc.next(); System.out.println("请输入新的水果单价:");
Double nprice=sc.nextDouble(); Pro newPro=new Pro();
newPro.num=nnum;
newPro.name=nname;
newPro.price=nprice; for(int i=0;i<prolist.size();i++){
if(prolist.get(i).num.equals(dnum)){
prolist.set(i,newPro); //用新对象替代
}
} System.out.println("水果信息更新完毕!");
System.out.println();
} }
4.定义一个学生类Student,包含三个属性姓名、年龄、性别,创建三个学生对象存入ArrayList集合中。
A:遍历集合遍历输出。
B:求出年龄最大的学生,让后将该对象的姓名变为:葫芦娃。
//学生类
class Student
{
String sname; //姓名
int sage; //年龄
String ssex; //性别
}
import java.util.ArrayList;
class StudentTest
{
public static void main(String[] args)
{
//创建三个学生对象
Student s1=new Student();
s1.sname="张春";
s1.sage=18;
s1.ssex="男"; Student s2=new Student();
s2.sname="王夏";
s2.sage=19;
s2.ssex="女"; Student s3=new Student();
s3.sname="李秋";
s3.sage=20;
s3.ssex="男"; //学生对象存入ArrayList集合中
ArrayList<Student> sList=new ArrayList<Student>();
sList.add(s1);
sList.add(s2);
sList.add(s3); //遍历集合
System.out.println("姓名\t年龄\t性别");
for(int i=0;i<sList.size();i++){
System.out.print(sList.get(i).sname+"\t"+sList.get(i).sage+"\t"+sList.get(i).ssex);
System.out.println();
} //求出年龄最大的学生
int maxAge=sList.get(0).sage; //默认第一个同学最大 for(int i=1;i<sList.size();i++){
if(sList.get(i).sage>maxAge){
maxAge=sList.get(i).sage;
}
} //最大年龄的改名
for(int i=0;i<sList.size();i++){
if(sList.get(i).sage==maxAge){
sList.get(i).sname="葫芦娃";
}
} //遍历修改后集合
System.out.println();
System.out.println("修改后的同学们:");
System.out.println("姓名\t年龄\t性别");
for(int i=0;i<sList.size();i++){
System.out.print(sList.get(i).sname+"\t"+sList.get(i).sage+"\t"+sList.get(i).ssex);
System.out.println();
} }
}