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. 【Lintcode】028.Search a 2D Matrix

    题目: Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the f ...

  2. bzoj 4753 [Jsoi2016]最佳团体——0/1分数规划

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4753 0/1分数规划裸题. #include<iostream> #includ ...

  3. /etc/bashrc和/etc/profile

    在一般的 linux 或者 unix 系统中, 都可以通过编辑 bashrc 和 profile来设置用户的工作环境, 很多文章对于 profile 和 bashrc 也都有使用, 但究竟每个文件都有 ...

  4. DataWindow.Net V2.5原始文件下载

    DW2.5 原始安装程序下载 http://download.sybase.com/eval/datawindowNET_25_eval/CD50090-55-0250-01.zip

  5. html中连续点击某个标签会出现蓝色的解决方法

    给标签加上下面的属性就可以了,也可以把这些属性建立一个class名,谁需要的时候加上也ok -moz-user-select: none; /*mozilar*/ -webkit-user-selec ...

  6. [poj1222]EXTENDED LIGHTS OUT(高斯消元)

    题意:每个灯开启会使自身和周围的灯反转,要使全图的灯灭掉,判断灯开的位置. 解题关键:二进制高斯消元模板题. 复杂度:$O({n^3})$ #include<cstdio> #includ ...

  7. nodejs写文件

    var fs = require('fs'); 2 var txt = "以上程序使用fs.readFileSync从源路径读取文件内容,并使用fs.writeFileSync将文件内容写入 ...

  8. Linux&nbsp;JDK1.4卸载与1.6的安装

    Linux JDK卸载与安装 一.jdk1.4卸载 Redhat Enterprise 5 中自带安装了jdk1.4,在安装jdk1.6前,把jdk1.4卸载: 1.首先查看系统自带JDK的版本: [ ...

  9. 在VC6的debug框里面输出版权信息

    在VC6的debug框里面输出版权信息,效果如下: 原理是: 新建一个批处理文档:如:"info.bat",放置到工程目录下[和dsw同级] @echo ===本程序作者是不要呵呵 ...

  10. linux 下定位程序假死

    ps -ef | grep 程序名称 pstack 程序的进程ID