public class Test {
static int gmCount = 0;
static int gtCount = 0;
static int tmCount = 0;
static int ttCount = 0;
static int exit = 1;
static int type = 0;
static int ticketType = 0;
static int number = 0;
public static void main(String[] args) {
according();
while (exit!=0){
type = accordingIn("输入1个人、2团体");
if(type==2){
number = accordingIn("团体输入人数");
if(number == 0){
break;
}
}else if(type == 1) {
number = 1;
}
else {
break;
}
ticketType = accordingIn("输入1门票、2通票");
if(ticketType==0){
break;
}
sellTicket(type,ticketType,number);
}
Systemoutprintln("今日个人门票出售"+gmCount+"张,共计:"+gmCount80+"元,团体门票出售"+tmCount+"张,共计"+tmCount60+"元");
Systemoutprintln("今日个人通票出售"+gtCount+"张,共计:"+gtCount100+"元,团体通票出售"+ttCount+"张,共计"+ttCount80+"元");
}
static void according(){
Systemoutprintln("---------------------");
Systemoutprintln("------电子售票系统-----");
Systemoutprintln("----------------------");
Systemoutprintln("--------个人-----团体--");
Systemoutprintln("--门票---80-------60---");
Systemoutprintln("--通票---100------80---");
Systemoutprintln("----------------------");
Systemoutprintln("输入0退出系统");
}
static int accordingIn(String message){
Scanner scanner = new Scanner(Systemin);
Systemoutprint(message + ":");
return scannernextInt();
}
static void sellTicket(int type,int ticketType,int number){
//个人门票
if(type==1&&ticketType==1){
gmCount =+ number;
}
//个人通票
if(type==1&&ticketType==2){
gtCount =+ number;
}
//团体门票
if(type==2&&ticketType==1){
tmCount =+ number;
}
//团体通票
if(type==2&&ticketType==2){
ttCount =+ number;
}
}
}
要不就去百度文库哪里找找,你看看
>
程序写完了
/////////////////////////////////////////////////
public abstract class Person {
public String name;
public int age;
public String sex;
public Person(){
}
public abstract void eat();
/
@return Returns the age
/
public int getAge() {
return age;
}
/
@param age The age to set
/
public void setAge(int age) {
thisage = age;
}
/
@return Returns the name
/
public String getName() {
return name;
}
/
@param name The name to set
/
public void setName(String name) {
thisname = name;
}
/
@return Returns the sex
/
public String getSex() {
return sex;
}
/
@param sex The sex to set
/
public void setSex(String sex) {
thissex = sex;
}
}
/////////////////////////////////////////
/
因为学生也是人,所以要继承人的抽象类
/
public abstract class Student extends Person{
public abstract void study();
}
//////////////////////////////////////
public interface Graduate {
void graduateStudyMethod();
}
/////////////////////////////////////
public class Graduatestudent extends Student implements Graduate{
@Override
public void study() {
Systemoutprintln(getName()+"学生的学习方法");
}
@Override
public void eat() {
Systemoutprintln(getName()+"研究生需要吃饭");
}
public void graduateStudyMethod() {
Systemoutprintln(getName()+"研究生有学习的方法");
}
}
/////////////////////////////////////////
/
因为老师也是人,所以要继承人的抽象类
/
public abstract class Teacher extends Person{
public abstract void work();
}
//////////////////////////////////////////////
/
老师研究生
/
public class TeacherGraduate extends Teacher implements Graduate{
@Override
public void work() {
Systemoutprintln(getName()+"老师需要工作");
}
@Override
public void eat() {
Systemoutprintln(getName()+"老师需要吃饭");
}
public void graduateStudyMethod() {
Systemoutprintln(getName()+"老师研究生的学习方法");
}
}
/////////////////////////////////////
简单的测试类
public class Test {
public static void main(String[] args) {
Graduatestudent student = new Graduatestudent();
studentsetName("wangwenjun");
studentsetAge(24);
studentsetSex("男");
studenteat();
studentgraduateStudyMethod();
studentstudy();
TeacherGraduate teacherGraduate = new TeacherGraduate();
teacherGraduatesetName("liuna");
teacherGraduatesetAge(25);
teacherGraduatesetSex("女");
teacherGraduateeat();
teacherGraduategraduateStudyMethod();
teacherGraduatework();
}
}
/////////////////////////////
最终的输出结果
wangwenjun研究生需要吃饭
wangwenjun研究生有学习的方法
wangwenjun学生的学习方法
liuna老师需要吃饭
liuna老师研究生的学习方法
liuna老师需要工作
这个事加载顺序的问题
在解释之前,你得先明确这么几条概念
1构造子类时会先构造父类;而构造父类时,其所用的静态成员和非静态属性是父类的,但非静态方法却是子类的
2加载父类时如果遇到重写的成员,则把重写的类型赋值给当前类型
3加载非静态成员先递归地加载父类的非静态成员在轮到子类
我解释下你这个例子:
程序入口地址main调用构造器,构造Boo
这时候要加载Boo的构造器,构造子类时会先构造父类(如果子类没显示构造器)。
Aoo调用无参的时候发现里面有个方法,在子类被重写了,调用子类方法。
子类方法,发现用到了父类的属性(子类没重写),这个时候由于还在加载父类,所以子类属性值还在初始化状态。集b=0
所以 a=2,b=0
这有点绕,如果还不懂,建议你去查查类加载的顺序。
首先你要了解,JAVA是什么软件,有什么用?
答:它是个面向网络的程序设计语言,用来让程序员创建应用程序,这些应用程序可以通过网络下载,而且可在任何计算平台上安全地运行。Java作为一个分布式的,面向对象的程序设计语言,可以让位于任何地方的任何计算机应用网络上的应用程序。
其实每次遇到不会的都来求助是很不方便的
如果你想了解和免费学习更多的JAVA编程,成为一名真正的JAVA高手,你可以来这个qun,前面三个数是四二六 中间是三九六 后面是二八四
把这串数字连起来就可以了,这是一个高手的学习qun,在这里你可以学习到书上学不到的知识,还有大牛相互讨论并指导你解答,免费学习资料共享在qun文件里。
同C++一样, Java是个面向对象的语言,这就意味着软件可以以部件的形式编制,为了满足某种任务,软部件可以互相配合。
Java适宜于互联网的开发应用,其中一个原因是它使用了虚拟机,虚拟机是个用来解释Java指令的软件包,Java的虚拟机策略就相当于世界语,这是个人造的国际语言,目的是使得不同语言之间的翻译和沟通更加容易。
以上就是关于Java面向对象的程序设计综合题求大神解答全部的内容,包括:Java面向对象的程序设计综合题求大神解答、求Java面向对象程序设计(第2版)清华大学出版社课后习题答案、JAVA程序设计题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)