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();
} }
}

 

ArrayList 练习题的更多相关文章

  1. java ArrayList练习题

    package java06; /* *随机产生6的1——33的数字,并存储到列表中,再进行遍历 * */ import java.util.ArrayList; import java.util.R ...

  2. 第四章 面向对象与IO操作

    一.类(类中可以写字段.属性.方法.构造函数)1.定义一个类用关键字class,后面加类名,类名第一个字母用大写,可用private或public修饰符定义访问级别,类可定义在同一命名空间中,也可定义 ...

  3. JAVA基础知识之练习题——集合

    练习一: 创建一个Set集合,保存用户输入的数据 具体代码实现如下面代码中的testSet()方法. 知识点: Set集合的基本特征是元素不允许重复.HashSet不保存元素顺序,LinkedHash ...

  4. 6、50道JAVA基础编程练习题跟答案

    50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析 ...

  5. 50道JAVA基础编程练习题

    50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析 ...

  6. java第3天:Scanner,Random,ArrayList

    第一章:Scanner从入门到放弃 1 API的概述和使用步骤 API简称应用程序编程接口,是JDK给我们提供好的可以直接使用的类和方法,是程序员随手使用的字典. *** 2 Scanner的概述 2 ...

  7. J2EE 练习题 - JSON HTTP Service

    J2EE 练习题 - JSON HTTP Service 1 要求 2 示例代码 2.1 Server 端 2.2 客户端 - Java 1 要求 在 Tomcat 上布署一个 HTTP Servic ...

  8. Scanner类、匿名对象、Random类、ArrayList集合、String类、static静态类、math类和Arrays工具类

    一.Scanner类 1.除了八种基本数据类型,其他都是引用类型: 引用类型使用三步骤: 2.Scanner类 引用jdk提供的类,Scanner在java.util包下,不在java.lang包(S ...

  9. 【第一期百题计划进行中,快来打卡学习】吃透java、细化到知识点的练习题及笔试题,助你轻松搞定java

    [快来免费打卡学习]参与方式 本期百题计划开始时间:2022-02-09,今日打卡题已在文中标红. 0.本文文末评论区打卡,需要登录才可以打卡以及查看其他人的打卡记录 1.以下练习题,请用对应的知识点 ...

随机推荐

  1. 红黑树的C语言实现

    rbtree.h #ifndef _RED_BLACK_TREE_H_ #define _RED_BLACK_TREE_H_ #define RED 0 // 红色节点 #define BLACK 1 ...

  2. docker 学习(一)什么是Docker

    项目中用到docker,就学习一下.第一篇是介绍. Sandboxie(沙箱):一个虚拟系统程序,允许你在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除.它创造了一个类似沙盒的独立作 ...

  3. java的动态代理原理

    之前虽然会用JDK的动态代理,但是有些问题却一直没有搞明白.比如说:InvocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的,直到前几个星期才把这些问题全部搞明白了.  ...

  4. SoapUI测试登录

    实际登录过程为: 1. 打开/login页面 2. 登录 3. 自动调整至/dashboard页面 SoapUI的设计上,每一次请求后,都会清理掉cookie,于是设计的测试登录过程如下: 1. po ...

  5. 导出数据到EXCEL并生成多个Sheet

    一.准备工作 引用:Microsoft.Office.Interop.Excel 准备多个DataTable数据添加到DataSet中. 二.代码 public void CreateExcel(Da ...

  6. [hdu3586]Information Disturbing树形dp+二分

    题意:给出一棵带权无向树,以及给定节点1,总约束为$m$,找出切断与所有叶子节点联系每条边所需要的最小价值约束. 解题关键:二分答案,转化为判定性问题,然后用树形dp验证答案即可. dp数组需要开到l ...

  7. ubuntu下终于安装好了nvidia的gt540显卡驱动

    ubuntu下终于安装好了nvidia的gt540显卡驱动.估计好多童鞋怕麻烦都放弃安装了哈. 先看看效果. ~$ lspci |grep -i vga :) :00.0 VGA compatible ...

  8. 《深入分析Java Web技术内幕》读后感(Tomcat)

    第11章 P286 Tomcat总体结构 1.service 2.server 3.组件的生命 Connector Container 1.容器的总体设计 2.Engine容器 3.Host容器 4. ...

  9. 【hdu2955】 Robberies 01背包

    标签:01背包 hdu2955 http://acm.hdu.edu.cn/showproblem.php?pid=2955 题意:盗贼抢银行,给出n个银行,每个银行有一定的资金和抢劫后被抓的概率,在 ...

  10. pandas基础(2)_多重索引

    1:多重索引的构造 >>> #下面显示构造pd.MultiIndex >>> df1=DataFrame(np.random.randint(0,150,size= ...