java面向对象程序设计考试题(Java面向对象,编程题,谢谢!)

本文目录
Java面向对象,编程题,谢谢!
第一种:
public static void main(String args) {
Scanner scn = new Scanner(System.in);
System.out.print("第一个数:");
int a = scn.nextInt();
System.out.print("操作(+,-,*,/):");
String option = scn.next();
System.out.print("第二个数:");
int b = scn.nextInt();
int result = 0;
if ("+".equals(option)) {
result = a + b;
}
if ("-".equals(option)) {
result = a - b;
}
if ("*".equals(option)) {
result = a * b;
}
if ("/".equals(option)) {
result = a / b;
}
System.out.println("结果:" + result);
}
第二种:
public static void main(String args) {
Scanner scn = new Scanner(System.in);
System.out.print("请输入第一个数:");
int oNumFirst = scn.nextInt();
System.out.print("请输入操作方式(+,-,*,/):");
String option = scn.next();
System.out.print("请输入第二个数:");
int oNumSecond = scn.nextInt();
int result = 0;
switch (option) {
case "+":
result = oNumFirst + oNumSecond;
break;
case "-":
result = oNumFirst - oNumSecond;
break;
case "*":
result = oNumFirst * oNumSecond;
break;
case "/":
try {
result = oNumFirst / oNumSecond;
} catch (ArithmeticException e) {
e.printStackTrace();
System.out.println("除数不能为0");
}
break;
}
System.out.println("结果为:" + result);
}
第三种:
/**
* 计算器类
* Created by HDL on 2016/11/30.
*/
public class Optioner {
private int oNumFirst;//第一个数
private int oNumSecond;//第二个数
public int getoNumFirst() {
return oNumFirst;
}
public void setoNumFirst(int oNumFirst) {
this.oNumFirst = oNumFirst;
}
public int getoNumSecond() {
return oNumSecond;
}
public void setoNumSecond(int oNumSecond) {
this.oNumSecond = oNumSecond;
}
public Optioner() {
}
public Optioner(int oNumFirst, int oNumSecond) {
this.oNumFirst = oNumFirst;
this.oNumSecond = oNumSecond;
}
public int getReuslt() {
return 0;
}
}12345678910111213141516171819202122232425262728291234567891011121314151617181920212223242526272829
/**
* 加法运算
* Created by HDL on 2016/11/30.
*/
public class AddOptioner extends Optioner {
@Override
public int getReuslt() {
return getoNumFirst() + getoNumSecond();
}
}
/**
* 减法运算
* Created by HDL on 2016/11/30.
*/
public class SubOptioner extends Optioner {
@Override
public int getReuslt() {
return getoNumFirst() - getoNumSecond();
}
}
/**
* 乘法运算
* Created by HDL on 2016/11/30.
*/
public class MulOptioner extends Optioner {
@Override
public int getReuslt() {
return getoNumFirst() * getoNumSecond();
}
}
/**
* 除法运算
* Created by HDL on 2016/11/30.
*/
public class DivOptioner extends Optioner {
@Override
public int getReuslt() {
if (getoNumSecond() == 0) {
System.out.println("除数不能为0");
return -1;
} else {
return getoNumFirst() / getoNumSecond();
}
}
}
测试
public static void main(String args) {
Scanner scn = new Scanner(System.in);
System.out.print("请输入第一个数:");
int oNumFirst = scn.nextInt();
System.out.print("请输入操作方式(+,-,*,/):");
String opt = scn.next();
System.out.print("请输入第二个数:");
int oNumSecond = scn.nextInt();
Optioner optioner=null;
switch (opt) {
case "+":
optioner=new AddOptioner();
break;
case "-":
optioner=new SubOptioner();
break;
case "*":
optioner=new MulOptioner();
break;
case "/":
optioner=new DivOptioner();
break;
}
optioner.setoNumFirst(oNumFirst);
optioner.setoNumSecond(oNumSecond);
System.out.println("结果为:" + optioner.getReuslt());
}
Java面向对象的程序设计综合题求大神解答
package TicketSales;
import java.util.Scanner;
public class Main {
private static int person_ticket_num_1;
private static int person_ticket_num_2;
private static int group_ticket_num_1;
private static int group_ticket_num_2;
private static int person_ticket_price_1;
private static int person_ticket_price_2;
private static int group_ticket_price_1;
private static int group_ticket_price_2;
@SuppressWarnings("resource")
public static void main(String args) {
System.out.println("-------------------欢迎使用景点售票系统------------------");
person_ticket_num_1 = 0;
person_ticket_num_2 = 0;
group_ticket_num_1 = 0;
group_ticket_num_2 = 0;
person_ticket_price_1 = 0;
person_ticket_price_2 = 0;
group_ticket_price_1 = 0;
group_ticket_price_2 = 0;
while (true) {
System.out.println("以下是门票种类:");
System.out.println("1.个人");
System.out.println("2.团体");
System.out.println("0.退出系统");
System.out.print("请输入购票种类编号:");
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
switch (input) {
case "1" :
person();
break;
case "2" :
group();
break;
case "0" :
System.out.println("今日个人门票售出" + person_ticket_num_1 + "张,共计" + person_ticket_price_1 + "元");
System.out.println("今日个人通票售出" + person_ticket_num_2 + "张,共计" + person_ticket_price_2 + "元");
System.out.println("今日团体门票售出" + group_ticket_num_1 + "张,共计" + group_ticket_price_1 + "元");
System.out.println("今日团体通票售出" + group_ticket_num_2 + "张,共计" + group_ticket_price_2 + "元");
System.exit(0);
default : System.out.println("输入有误。");
break;
}
}
}
@SuppressWarnings("resource")
private static void person() {
System.out.println("个人:门票,80元;通票,100元");
System.out.println("1.门票");
System.out.println("2.通票");
System.out.println("0.退出");
System.out.print("请选择门票种类并输入购买的数量:");
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
switch (input) {
case "1" :
System.out.print("请输入购买数量:");
Scanner input_num_1 = new Scanner(System.in);
int num_1 = input_num_1.nextInt();
person_ticket_num_1 = person_ticket_num_1 + num_1;
int price_1 = num_1 * 80;
System.out.println("本次售票:" + price_1 + "元");
person_ticket_price_1 = person_ticket_price_1 + price_1;
break;
case "2" :
System.out.print("请输入购买数量:");
Scanner input_num_2 = new Scanner(System.in);
int num_2 = input_num_2.nextInt();
person_ticket_num_2 = person_ticket_num_2 + num_2;
int price_2 = num_2 * 100;
System.out.println("本次售票:" + price_2 + "元");
person_ticket_price_2 = person_ticket_price_2 + price_2;
break;
case "0" :
System.out.println("本次未购票退出");
break;
default : System.out.println("输入有误。");
break;
}
}
@SuppressWarnings("resource")
private static void group() {
System.out.println("团体:门票,60元;通票,80元");
System.out.println("1.门票");
System.out.println("2.通票");
System.out.println("0.退出");
System.out.print("请选择门票种类并输入购买的数量:");
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
switch (input) {
case "1" :
System.out.print("请输入购买数量:");
Scanner input_num_1 = new Scanner(System.in);
int num_1 = input_num_1.nextInt();
group_ticket_num_1 = group_ticket_num_1 + num_1;
int price_1 = num_1 * 60;
System.out.println("本次售票:" + price_1 + "元");
group_ticket_price_1 = group_ticket_price_1 + price_1;
break;
case "2" :
System.out.print("请输入购买数量:");
Scanner input_num_2 = new Scanner(System.in);
int num_2 = input_num_2.nextInt();
group_ticket_num_2 = group_ticket_num_2 + num_2;
int price_2 = num_2 * 80;
System.out.println("本次售票:" + price_2 + "元");
group_ticket_price_2 = group_ticket_price_2 + price_2;
break;
case "0" :
System.out.println("本次未购票退出");
break;
default : System.out.println("输入有误。");
break;
}
}
}
上面是我写的代码,麻烦看一下是否能符合要求。
下面是我自己做的测试结果。
-------------------欢迎使用景点售票系统------------------
以下是门票种类:
1.个人
2.团体
0.退出系统
请输入购票种类编号:1
个人:门票,80元;通票,100元
1.门票
2.通票
0.退出
请选择门票种类并输入购买的数量:2
请输入购买数量:3
本次售票:300元
以下是门票种类:
1.个人
2.团体
0.退出系统
请输入购票种类编号:1
个人:门票,80元;通票,100元
1.门票
2.通票
0.退出
请选择门票种类并输入购买的数量:1
请输入购买数量:5
本次售票:400元
以下是门票种类:
1.个人
2.团体
0.退出系统
请输入购票种类编号:2
团体:门票,60元;通票,80元
1.门票
2.通票
0.退出
请选择门票种类并输入购买的数量:2
请输入购买数量:3
本次售票:240元
以下是门票种类:
1.个人
2.团体
0.退出系统
请输入购票种类编号:2
团体:门票,60元;通票,80元
1.门票
2.通票
0.退出
请选择门票种类并输入购买的数量:1
请输入购买数量:5
本次售票:300元
以下是门票种类:
1.个人
2.团体
0.退出系统
请输入购票种类编号:2
团体:门票,60元;通票,80元
1.门票
2.通票
0.退出
请选择门票种类并输入购买的数量:1
请输入购买数量:2
本次售票:120元
以下是门票种类:
1.个人
2.团体
0.退出系统
请输入购票种类编号:0
今日个人门票售出5张,共计400元
今日个人通票售出3张,共计300元
今日团体门票售出7张,共计420元
今日团体通票售出3张,共计240元
经典面向对象题,用Java做,要详细点的
package local.tea;
import local.tea.Tea.Flavor;
public class InfuseMan extends TTobj {
public InfuseMan(String name) {
super(name);
}
public void takeTea(Flavor flavor, TeacupTray tt) {
tt.setTea(new Tea(flavor));
System.out.println(name + " 沏了一杯 " + flavor );
TeaStall.releaseInfuseMan(this);
}
}
package local.tea;
public class TTobj {
protected String name;
public TTobj(String name) {
this.name = this.getClass().getSimpleName() + name;
}
}
package local.tea;
public class Tea {
public static enum Flavor {
西湖龙井, 洞庭碧螺春, 白毫银针, 君山银针, 黄山毛峰, 武夷岩茶, 安溪铁观音, 信阳毛尖, 庐山云雾, 六安瓜片
}
private Flavor flavor;
public Tea(Flavor flavor) {
this.setFlavor(flavor);
}
public void setFlavor(Flavor flavor) {
this.flavor = flavor;
}
public Flavor getFlavor() {
return flavor;
}
}
package local.tea;
public class TeaClient extends TTobj implements Runnable {
Tea.Flavor favoriteFlavor = Tea.Flavor.六安瓜片;
public TeaClient(String string) {
super(string);
System.out.println(this.name + " 大驾光临");
}
public TeaClient(String name, Tea.Flavor flavor) {
this(name);
favoriteFlavor = flavor;
}
@Override
public void run() {
Tea tea = null;
Waiter waiter = null;
try {
System.out.println(name + " 小二!沏杯茶!" + favoriteFlavor);
waiter = TeaStall.takeWaiter();
waiter.takeOrder(favoriteFlavor);
tea = waiter.takeTea();
} catch (InterruptedException e) {
System.out.println(name + " 没人理我啊!我愤然离开!" + e.getStackTrace());
return;
}
System.out.println(name + " 品尝并称赞着 " + tea.getFlavor());
if (waiter != null) {
waiter.release();
}
System.out.println(name + " 我走啦~");
}
}
package local.tea;
public class TeaMenu {
Tea tea;
}
package local.tea;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
public class TeaStall {
private static String name = "有家茶庄";
public static final int CLIENT_MAX_NUM = 5;
private static BlockingQueue《InfuseMan》 infuseMen = new ArrayBlockingQueue《InfuseMan》(
1);
private static BlockingQueue《Waiter》 waiters = new ArrayBlockingQueue《Waiter》(
1);
/**
* @param args
*/
public static void main(String args) {
waiters.add(new Waiter("【小二张】"));
infuseMen.add(new InfuseMan("【烹煮沏】"));
System.out.println(name + " 开门啦");
new Thread(new TeaClient("【梁朝伟】")).start();
new Thread(new TeaClient("【刘嘉玲】", Tea.Flavor.武夷岩茶)).start();
System.out.println(name + " 打烊啦");
}
public static Waiter takeWaiter() throws InterruptedException {
return waiters.take();
}
public static void releaseWaiter(Waiter waiter) {
waiters.add(waiter);
}
public static InfuseMan takeInfuseMan() throws InterruptedException {
return infuseMen.take();
}
public static void releaseInfuseMan(InfuseMan im) {
infuseMen.add(im);
}
}
package local.tea;
public class Waiter extends TTobj {
public Waiter(String name) {
super(name);
}
Tea.Flavor order;
TeacupTray tt = new TeacupTray();
public void takeOrder(Tea.Flavor order) throws InterruptedException {
this.order = order;
System.out.println(name + " 这位爷您点了 " + order);
TeaStall.takeInfuseMan().takeTea(this.order, tt);
}
public Tea takeTea() {
System.out.println(name + " 茶来啦 ");
return tt.getTea();
}
public void release() {
TeaStall.releaseWaiter(this);
}
}
class TeacupTray {
private Tea tea;
public Tea getTea() {
return tea;
}
public void setTea(Tea tea) {
this.tea = tea;
}
}package local.tea;
import local.tea.Tea.Flavor;
public class InfuseMan extends TTobj {
public InfuseMan(String name) {
super(name);
}
public void takeTea(Flavor flavor, TeacupTray tt) {
tt.setTea(new Tea(flavor));
System.out.println(name + " 沏了一杯 " + flavor );
TeaStall.releaseInfuseMan(this);
}
}
package local.tea;
public class TTobj {
protected String name;
public TTobj(String name) {
this.name = this.getClass().getSimpleName() + name;
}
}
package local.tea;
public class Tea {
public static enum Flavor {
西湖龙井, 洞庭碧螺春, 白毫银针, 君山银针, 黄山毛峰, 武夷岩茶, 安溪铁观音, 信阳毛尖, 庐山云雾, 六安瓜片
}
private Flavor flavor;
public Tea(Flavor flavor) {
this.setFlavor(flavor);
}
public void setFlavor(Flavor flavor) {
this.flavor = flavor;
}
public Flavor getFlavor() {
return flavor;
}
}
package local.tea;
public class TeaClient extends TTobj implements Runnable {
Tea.Flavor favoriteFlavor = Tea.Flavor.六安瓜片;
public TeaClient(String string) {
super(string);
System.out.println(this.name + " 大驾光临");
}
public TeaClient(String name, Tea.Flavor flavor) {
this(name);
favoriteFlavor = flavor;
}
@Override
public void run() {
Tea tea = null;
Waiter waiter = null;
try {
System.out.println(name + " 小二!沏杯茶!" + favoriteFlavor);
waiter = TeaStall.takeWaiter();
waiter.takeOrder(favoriteFlavor);
tea = waiter.takeTea();
} catch (InterruptedException e) {
System.out.println(name + " 没人理我啊!我愤然离开!" + e.getStackTrace());
return;
}
System.out.println(name + " 品尝并称赞着 " + tea.getFlavor());
if (waiter != null) {
waiter.release();
}
System.out.println(name + " 我走啦~");
}
}
package local.tea;
public class TeaMenu {
Tea tea;
}
package local.tea;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
public class TeaStall {
private static String name = "有家茶庄";
public static final int CLIENT_MAX_NUM = 5;
private static BlockingQueue《InfuseMan》 infuseMen = new ArrayBlockingQueue《InfuseMan》(
1);
private static BlockingQueue《Waiter》 waiters = new ArrayBlockingQueue《Waiter》(
1);
/**
* @param args
*/
public static void main(String args) {
waiters.add(new Waiter("【小二张】"));
infuseMen.add(new InfuseMan("【烹煮沏】"));
System.out.println(name + " 开门啦");
new Thread(new TeaClient("【梁朝伟】")).start();
new Thread(new TeaClient("【刘嘉玲】", Tea.Flavor.武夷岩茶)).start();
System.out.println(name + " 打烊啦");
}
public static Waiter takeWaiter() throws InterruptedException {
return waiters.take();
}
public static void releaseWaiter(Waiter waiter) {
waiters.add(waiter);
}
public static InfuseMan takeInfuseMan() throws InterruptedException {
return infuseMen.take();
}
public static void releaseInfuseMan(InfuseMan im) {
infuseMen.add(im);
}
}
package local.tea;
public class Waiter extends TTobj {
public Waiter(String name) {
super(name);
}
Tea.Flavor order;
TeacupTray tt = new TeacupTray();
public void takeOrder(Tea.Flavor order) throws InterruptedException {
this.order = order;
System.out.println(name + " 这位爷您点了 " + order);
TeaStall.takeInfuseMan().takeTea(this.order, tt);
}
public Tea takeTea() {
System.out.println(name + " 茶来啦 ");
return tt.getTea();
}
public void release() {
TeaStall.releaseWaiter(this);
}
}
class TeacupTray {
private Tea tea;
public Tea getTea() {
return tea;
}
public void setTea(Tea tea) {
this.tea = tea;
}
}
=========================
运行结果:
有家茶庄 开门啦
TeaClient【梁朝伟】 大驾光临
TeaClient【刘嘉玲】 大驾光临
TeaClient【梁朝伟】 小二!沏杯茶!六安瓜片
Waiter【小二张】 这位爷您点了 六安瓜片
InfuseMan【烹煮沏】 沏了一杯 六安瓜片
Waiter【小二张】 茶来啦
TeaClient【梁朝伟】 品尝并称赞着 六安瓜片
TeaClient【梁朝伟】 我走啦~
有家茶庄 打烊啦
TeaClient【刘嘉玲】 小二!沏杯茶!武夷岩茶
Waiter【小二张】 这位爷您点了 武夷岩茶
InfuseMan【烹煮沏】 沏了一杯 武夷岩茶
Waiter【小二张】 茶来啦
TeaClient【刘嘉玲】 品尝并称赞着 武夷岩茶
TeaClient【刘嘉玲】 我走啦~
Java面向对象程序设计题
1.Object
2.final
3.Object
4.this,super
一、读程序写结果
1.100
2.
数组a:123456,200,300
数组b:123456,200,300
数组b的长度: 3
3.
a=10
b=30
c=60

更多文章:
native在java中的用法(native的Java关键字)
2026年8月22日 20:30
正则匹配数字字符串开头(js 正则表达式获取字符串开头结尾的数字)
2025年7月24日 05:00
businessman怎么念(businessman怎么读什么意思)
2026年8月29日 10:15
candidate的由来(什么是bug啊还有什么是beta)
2026年5月29日 05:45
不会java可以学javaweb吗(web 开发者需要会java吗)
2025年11月25日 10:00
competition怎么说(competition翻译一下)
2026年3月31日 22:15
winxp如何用汇编(如果在windows下没有任何现成编译器,怎样用机器语言(或汇编语言) 编写程序)
2025年9月14日 09:00
java编程规范单行(JAVA中单行注释和多行注释是什么意思我没弄明白,能解释一下么举个例子也好,谢谢~!)
2026年3月11日 01:15
eclipse连接sql server(eclipse连接sql server2008r2jar包导进去了还是显示驱动有问题怎么办)
2026年1月22日 20:30
android源码调试(如何调试Android Framework)
2025年11月18日 07:45
java经典100例算法题(利用Java编写应用程序求100以内的全部素数)
2025年10月23日 20:00














