学生投票系统
案例描述
某班级投票竞选班干部,班级学生人数为100人,每个学生只能投一票。
本任务要求,编程实现一个投票程序,每个学生只能投一次票,投票成功提示“感谢你的投票”,若重复投票,提示“请勿重复投票”。当投票总数达到100时或者主观结束投票时,同时统计投票学生人数和投票结果
package toupiao;
import java.util.HashSet;
import java.util.Set;
public class Voter {
//属性的定义
private static final int MAX_COUNT = 100;//最大投票
private static int count; //投票数
//静态变量,存放已经投票的学生
private static Set<Voter> voters = new HashSet<Voter>();
private String name;
private String answer;
// 构造方法
public Voter(String name) {
this.name = name;
}
//投票
public void voterFor(String answer) {
if(count == MAX_COUNT) {
System.out.println("投票结束");
return;
}
if(voters.contains(this)) {
System.out.println(name+"请勿重复投票。");
}else {
this.answer= answer;
count ++;
voters.add(this);
System.out.println(name+"感谢你的投票。");
}
}
//打印投票结果
public static void printlVoterReesult() {
System.out.println("当前投票数为:"+count);
System.out.println("参与投票的学生和结果如下:");
for(Voter voter:voters) {
System.out.println(voter.name+"意见"+voter.answer);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建参与投票的学生对象
Voter tom =new Voter("Tom");
Voter jack =new Voter("Jack");
Voter mike =new Voter("Mike");
//学生开始投票
tom.voterFor(" 是");
tom.voterFor(" 否");
jack.voterFor(" 是");
mike.voterFor(" 是");
//打印投票结果
Voter.printlVoterReesult();
小明可以买什么(switch条件语句)
案例描述
假如你带了20元,且必须购买一本书,剩余的钱还可以购买哪种商品,可以购买几件,购买完后又能剩余多少钱?
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// write your code here
// TODO Auto-generated method stub
int book = 12;
int pencil = 1;
int rubber = 2;
int coco = 3;
int snack = 5;
System.out.println("书本的价格为12元,您总共有20元");
System.out.println("1.铅笔的价格为:1元");
System.out.println("2.橡皮的价格为:2元");
System.out.println("3.可乐的价格为:3元");
System.out.println("4.零食的价格为:5元");
Scanner sc1 = new Scanner(System.in);
System.out.println("请输入购买商品的序列号:");
int order = sc1.nextInt();
int sy= 20-book;
switch(order) {
case 1:
int pencilcount = sy/pencil;
int lq = sy%pencil;
System.out.println("您购买铅笔"+pencilcount+"支"+","+"还剩余"+lq+"元");
break;
case 2:
int rubbercount = sy/rubber;
int lq1 = sy%rubber;
System.out.println("您购买橡皮"+rubbercount+"个"+","+"还剩余"+lq1+"元");
break;
case 3:
int cococount = sy/coco;
int lq2 = sy%coco;
System.out.println("您购买可乐"+cococount+"瓶"+","+"还剩余"+lq2+"元");
break;
case 4:
int snackcount = sy/snack;
int lq3 = sy%snack;
System.out.println("您购买零食"+snackcount+"份"+","+"还剩余"+lq3+"元");
break;
}
}
}
求10个整数的最大值以及平均值
连续输入10个整数,求出平均值以及最大值
package a1;
import java.util.Scanner;
public class A1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[]nums=new int[10];
Scanner scanner=new Scanner(System.in);
int max =Integer.MIN_VALUE;
int sum=0;
for(int i =0;i<10;i++) {
System.out.println("请输入"+(i+1)+"个整数");
nums[i]=scanner.nextInt();
if(nums[i]>max) {
max=nums[i];
}
sum+=nums[i];
}
System.out.println("最大值"+max);
System.out.println("平均值"+(double)sum/10);
}
}
银行存取
案例描述
银行存取款的流程是人们非常熟悉的事情,用户可在银行对自己的资金账户进行存款、取款、查询余额等操作,极大的便利了人民群众对资金的管理。
本任务要求,使用所学知识编写一个银行存取款程序,实现存取款功能。编写一个帐户类实现银行帐户的概念,创建帐户类的对象ba,假设ba的账号为:123456,初始的存款余额为500元。首先向该账户存入1000元,再取出800元。
package Bank;
class BankAccount{
int account_number;//账号
double leftmoney;//存款余额
public double getleftmoney() {
return leftmoney;//查询余额
}
public void savemoney(double money) {
leftmoney+=money;
}
public void getmoney(double money) {
leftmoney-=money;
}
public BankAccount(int number,double money) {
account_number=number;
leftmoney=money;
}
}
public class BankTxst {
public static void main(String[] args) {
// TODO Auto-generated method stub
BankAccount ba =new BankAccount(123456,500);
ba.savemoney(1000);
System.out.println("存入1000元后,您的余额为:"+ba.getleftmoney());
ba.getmoney(800);
System.out.println("取款800元后,您的余额为:"+ba.getleftmoney());
}
}
经理与员工工资(利用多态实现)
案例描述
某公司的人员分为员工和经理两种,但经理也属于员工中的一种,公司的人员都有自己的姓名和地址,员工和经理都有自己的工号、工资、工龄等属性,但经理不同员工的是,经理有自己在公司对应的级别。假设每次给员工涨工资一次能涨10%,经理能涨20%。本案例要求利用多态实现给员工和经理涨工资。
(Employee.java)
package jingliyuyuangongxinzigl;
public abstract class Employee extends Person {
private String ID="";
private double wage=0;
private int age=0;
public Employee(String name,String address,String ID,double wage,int age) {
super(name,address);
this.ID=ID;
this.wage=wage;
this.age=age;
}
public abstract void add(String position);
public double getWage() {
return wage;
}
public void setwage(double wage) {
this.wage=wage;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
(Manager.java)
package jingliyuyuangongxinzigl;
public class Manager extends Employee{
private String level="";
public Manager(String name,String address,String ID,double wage,int age,String level) {
super(name,address,ID,wage,age);
this.level=level;
}
public void add() {
double wage=super.getWage();
super.setwage(wage*1.1);
}
public void add(String position) {
double wage =super.getWage();
super.setwage(wage*1.2);
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level=level;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
(Person.java)
package jingliyuyuangongxinzigl;
public class Manager extends Employee{
private String level="";
public Manager(String name,String address,String ID,double wage,int age,String level) {
super(name,address,ID,wage,age);
this.level=level;
}
public void add() {
double wage=super.getWage();
super.setwage(wage*1.1);
}
public void add(String position) {
double wage =super.getWage();
super.setwage(wage*1.2);
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level=level;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
(Test)
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Manager normal = new Manager("yyy","ttt","12",1000,2,"1");
Manager manager = new Manager("lll","sss","123",10000,10,"0");
normal.add();
manager.add(manager.getLevel());
System.out.println("normal wage is :"+normal.getWage());
System.out.println("manager wage is :"+manager.getWage());
}
}
饲养员喂养动物
案例描述
饲养员在给动物喂食时,给不同的动物喂不同的食物,而且在每次喂食时,动物都会发出欢快的叫声。例如,给小狗喂骨头,小狗会汪汪叫;给小猫喂食,小猫会喵喵叫。
本案例要求编写一个程序模拟饲养员喂食动物的过程,案例要求如下:
饲养员给小狗喂骨头,小狗汪汪叫。
饲养员给小猫喂小鱼,小猫喵喵叫
(Animal.java)
package animal;
public abstract class Animal {
private String name;
public Animal(String name) {
this.name=name;
}
public abstract void shout();
public abstract void eat (Food food);
public String getName() {
return name;
}
public void setName(String name) {
this.name=name;
}
}
(Cat.java)
package animal;
public class Cat extends Animal {
public Cat(String name) {
super(name);
}
public void shout() {
System.out.print("喵喵喵~~~~");
}
public void eat(Food food) {
System.out.println(getName()+"正在吃香喷喷的"+food.getName());
}
}
(Dog.java)
package animal;
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
public void shout() {
System.out.print("汪汪汪~~~~");
}
public void eat(Food food) {
System.out.println(getName()+"正在吃香喷喷的"+food.getName());
}
}
(Bone.java)
package animal;
public class Bone implements Food{
public String getName() {
return "骨头";
}
}
(Fish.java)
package animal;
public class Fish extends Animal implements Food {
public Fish(String name) {
super(name);
}
public void shout() {
}
public void eat(Food food) {
}
}
(Food.java)
package animal;
public interface Food {
public abstract String getName();
}
(Feeder.java)
package animal;
public class Feeder {
private String name;
public Feeder(String name) {
this.name=name;
}
public void speak() {
System.out.println("欢迎来到动物园");
System.out.println("我是饲养员:"+getName());
}
public void feed(Animal a, Food food) {
a.eat(food);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name=name;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
(FeedAnimal.java)
package animal;
public class FeedAnimal {
public static void main(String[] args) {
// TODO Auto-generated method stub
Feeder feeder =new Feeder("小花");
feeder.speak();
Dog dog =new Dog("小狗");
dog.shout();
Food food =new Bone();
feeder.feed(dog, food);
Cat cat =new Cat("小猫");
cat.shout();
food =new Fish("黄花鱼");
feeder.feed(cat, food);
}
}
基于控制台的购书系统
案例描述
伴随互联网的蓬勃发展,网络购书系统作为电子商务的一种形式,正以其高效、低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的浏览和发布,更渴望着能够充分享受互联网所带来的更多便利。网络购书系统正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的图书。
本任务要求,使用所学知识编写一个基于控制台的购书系统,实现购书功能。输出所有图书的信息:包括每本书的编号、书名、单价、库存。
顾客购买书时,根据提示输入图书编号来选购需要的书,并根据提示输入购买书的的数量。
购买完毕后输出顾客的订单信息,包括:订单号、订单明细、订单总额
(Book.java)
package paybook;
public class Book{
private int id;//编号
private String name;//书名
private double price;//价格
private int storage;//库存
//有参构造
public Book(int id,String name,double price,int storage) {
this.id=id;
this.name=name;
this.price=price;
this.storage=storage;
}
//获取书号
public int getId() {
return id;
}
//获取书名
public String getName() {
return name;
}
//获取价格
public double getPrice() {
return price;
}
//获取库存
public int getStorage() {
return storage;
}
}
(Order.java)
package paybook;
public class Order {
private String orderId;
private OrderItem items[];
private double total;
//有参构造
public Order(String orderId) {
this.orderId=orderId;
this.items=new OrderItem[3];
}
//获取订单号
public String getOrderId() {
return orderId;
}
//获取订单列表
public OrderItem[] getItems() {
return items;
}
//获取订单总额
public double getTotal() {
calTotal();
return total;
}
public void setItem(OrderItem item,int i) {
this.items[i] = item;
}
//指定一个订单项
public void calTotal() {
double total = 0;
for (int i = 0; i < items.length; i ++) {
total += items[i].getNum() * items[i].getBook().getPrice();
}
this.total = total;
}
public static void main(String[] args) {
}
}
(OrderItem.java)
package paybook;
public class OrderItem {
private Book book;
private int num;
//有参构造方法
public OrderItem(Book book,int num) {
this.book=book;
this.num=num;
}
//获取图书对象
public Book getBook() {
return book;
}
//获取订购图书数量
public int getNum() {
return num;
}
}
(PayBooks.java)
package paybook;
import java.util.Scanner;
public class PayBooks {
public static void main(String[] args) {
Book books[] = new Book[3];
//模拟从数据库中读取图书信息并输出
outBooks(books);
//顾客购买书
Order order = purchase(books);
//输出订单信息
outOrder(order);
}
//顾客购买图书
public static Order purchase (Book books[]) {
Order order = new Order("00001");
OrderItem item = null;
Scanner in = new Scanner(System.in);
for ( int i = 0;i < 3; i++) {
System.out.println("请输入图书编号选择图书:");
int cno = in.nextInt();
System.out.println("请输入购买图书数量:");
int pnum = in.nextInt();
item = new OrderItem(books[cno-1],pnum);
order.setItem(item,i);
System.out.println("请继续购买图书。");
}
in.close();
return order;
}
//输出订单信息
public static void outOrder(Order order) {
System.out.println("\n\t图书订单");
System.out.println("图书订单号:" +order.getOrderId());
System.out.println("图书名称\t购买数量\t图书单价");
System.out.println("-----------------------------------------------");
OrderItem items[] = order.getItems();
for (int i = 0; i < items.length; i++) {
System.out.println(items[i].getBook().getName()+"\t"+items[i].getNum()+"\t"+items[i].getBook().getPrice());
//System.out.println("\n");
}
System.out.println("-----------------------------------------------");
System.out.println("订单总额: \t\t"+order.getTotal());
}
//模拟从数据库中读取图书信息并输出
public static void outBooks(Book books[]) {
books[0] = new Book(1,"Java教程", 30.6, 30);
books[1] = new Book(2,"JSP教程", 42.1, 40);
books[2] = new Book(3,"SSH架构", 47.3, 15);
System.out.println("\t图书列表");
System.out.println("图书编号\t图书名称\t\t图书单价\t库存数量");
System.out.println("-------------------------------------------------");
for (int i = 0; i < books.length; i ++) {
System.out.println(i+1+"\t"+books[i].getName()+"\t"+books[i].getPrice()+"\t"+books[i].getStorage());
}
System.out.println("--------------------------------------------------");
}
}
九九乘法表
package jjcfb;
public class Jjcfb {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=1,j= 1;i<=9;j++) {
System.out.print(i+"*"+j+"="+(i*j)+"\t");
if(i==j) {
i++;
j=0;
System.out.println();
}
}
}
}
整数100以内能被3整除的两位整数的和
package liangweishudehe;
public class LiangWeiShuDeHe {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum=0;
for(int i=10;i<=99;i++) {
if(i%3==0) {
sum+=i;
}
}
System.out.println("所有能被3整除的两位整数的和为:"+sum);
}
}
水仙花数目
package shuixianhuashu;
public class ShuiXianHuaShu {
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int i = 100; i <= 999; i++) {
int bai = i / 100;
int shi = i / 10 % 10;
int ge = i % 10;
if (bai * bai * bai + shi * shi * shi + ge * ge * ge == i) {
System.out.println(i);
}
}
}
}
100以内素数
package sushu;
public class Sushu {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i,j;
for(i=2;i<=100;i++) {
for(j =2;j<=i;j++) {
if(i%j==0)
break;
}
if(j >=i)
System.out.println(i);
}
}
}