- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经完成这项作业几天了,但我无法解决这个问题。任务如下。
使用以下准则设计并实现一个代表 Person 的类以及 3 个子类:
a.创建一个名为 Person 的类及其三个名为 Employee、Student、Retired 的子类。
b.Person 具有以下数据字段:name、year_of_birth、isStuying 和 isEmployed。它还具有用于设置和获取每个字段的值的方法,以及计算当前年龄和显示人员状态的方法。 Person 类中还包含将 isStuying 和 isEmployed 字段设置为 false 的构造函数。如果您愿意,欢迎您添加其他数据字段和方法。
c.对于您的 Person、Employee、Student 和 Retired 类,getStatus 方法根据属性的当前值返回下表中显示的值:
1.最后,创建一个 Java 测试类来模拟使用您的 Person 类。在您的测试类中,您至少应该:a) 构造 Person 的 4 个实例,b) 打印实例的名称 c) 根据实例的年龄、isStuying 和 isEmployed 属性的值打印实例的状态。
以下代码实际上位于同一项目的 5 个不同文件中。
第一个文件:
public class Person2 {//begin class
//declare variables
String name;
int year_of_birth;
boolean isStudying;
boolean isEmployed;
int age;
public Person2(boolean isEmployed, boolean isStudying){//begin constructor
this.isEmployed = false;
this.isStudying = false;
}//end constructor
public int getYear(){//get year method
return year_of_birth;
}//end method
public String getName(){//get name method
return name;
}//end method
public boolean getEmployed(){//get employed method
return isEmployed;
}//end method
public boolean getStudying(){//get employed method
return isStudying;
}//end method
public int getAge(int year_of_birth){//get year method
age = 2014 - year_of_birth;
return age;
}//end method
public int getStatus(int age);{//begin method
this.age = age;
if (age < 30 && isStudying == false && isEmployed == false || true){
System.out.println(name + " is a student");
} else if(age > 30 || age < 65 && isStudying == false && isEmployed == false || true){
System.out.println(name + " is an employee");
} else if(age > 65 && isStudying == false && isEmployed == false){
System.out.println(name + " is retired");
}
}//end method
public void setName(String name){//set name method
this.name = name;
}//end method
public void setYear (int year){//set year method
this.year_of_birth = year;
}//end method
public void setEmployed(boolean employed){//set employed method
this.isEmployed = employed;
}//end method
public void setAge (){//set year method
this.age = age;
}//end method
public static void main(String[] args) {
}
}//end class
第二个文件:
class Student extends Person2 {//begin class
public Student(boolean isEmployed, boolean isStudying, int age) {//begin constructer
super(isEmployed, isStudying);
this.isEmployed = false;
this.isStudying = true;
}//end constructer
}//end class
第三个文件:
class Retired extends Person2 {
public Retired(boolean isEmployed, boolean isStudying) {//begin constructer
super(isEmployed, isStudying);
this.isEmployed = false;
this.isStudying = false;
}//end constructer
}//end class
第四个文件:
class Employee extends Person2 {
public Employee(boolean isEmployed, boolean isStudying) {//begin constructer
super(isEmployed, isStudying);
this.isEmployed = true;
this.isStudying = false;
}//end constructer
}//end class
第五个文件:
public class PersonTest {//begin class
public static void main(String[] args) {//begin main
Person2 user1 = new Person2(false, true);
user1.setName("John Doe");
user1.setYear(1986);
System.out.println("The clients name is " + user1.getName() + ".");
System.out.println("The client is " + user1.getAge(1986) + ".");
user1.getStatus(age);
//new user
Person2 user2 = new Person2(true, false);
user2.setName("Mary Joe");
user2.setYear(1975);
System.out.println("The clients name is " + user2.getName() + ".");
System.out.println("The client is " + user2.getAge(1975) + ".");
user2.getStatus(age);
//new user
Person2 user3 = new Person2(true, false);
user3.setName("Forrest Burtner");
user3.setYear(1924);
System.out.println("The clients name is " + user3.getName() + ".");
System.out.println("The client is " + user3.getAge(1924) + ".");
user3.getStatus(age);
//new user
Person2 user4 = new Person2(false, false);
user4.setName("John Connor");
user4.setYear(1910);
System.out.println("The clients name is " + user4.getName() + ".");
System.out.println("The client is " + user4.getAge(1910) + ".");
user3.getStatus(age);
}//end main
}//end class
我所有的问题似乎都源于 getStatus 方法,不确定我做错了什么。任何帮助将不胜感激。
最佳答案
Person2 类中的更改,如您的方法中包含拼写错误 public String getStatus(int Age);
即最后的 分号,我不知道编译器如何处理它,通常它被视为空语句,并且当您返回通常为 String 的状态时,因此将方法的类型从 int 更改为字符串,并在 PersonTest
类中获取了该方法的年龄用户并使用年龄调用 getStatus()
并显示结果。
public String getStatus(int age){
this.age = age;
if (age < 30 && isStudying == true && isEmployed == false){
return name + " is a student";
} else if((age > 30 || age < 65) && isStudying == false && isEmployed == true){
return name + " is an employee";
} else if(age > 65 && isStudying == false && isEmployed == false){
return name + " is retired";
}
return null;
}
PersonTest 类
public class PersonTest {
public static void main(String[] args) {
Person2 user1 = new Person2(false, true);
user1.setName("John Doe");
user1.setYear(1986);
System.out.println("The clients name is " + user1.getName() + ".");
System.out.println("The client is " + user1.getAge(1986) + ".");
System.out.println(user1.getStatus(user1.getAge(1986)));
Person2 user2 = new Person2(true, false);
user2.setName("Mary Joe");
user2.setYear(1975);
System.out.println("The clients name is " + user2.getName() + ".");
System.out.println("The client is " + user2.getAge(1975) + ".");
System.out.println(user2.getStatus(user2.getAge(1975)));
Person2 user3 = new Person2(false, false);
user3.setName("Forrest Burtner");
user3.setYear(1924);
System.out.println("The clients name is " + user3.getName() + ".");
System.out.println("The client is " + user3.getAge(1924) + ".");
System.out.println(user3.getStatus(user3.getAge(1924)));
Person2 user4 = new Person2(false, false);
user4.setName("John Connor");
user4.setYear(1910);
System.out.println("The clients name is " + user4.getName() + ".");
System.out.println("The client is " + user4.getAge(1910) + ".");
System.out.println(user3.getStatus(user4.getAge(1910)));
}
}
一切都会顺利
关于java - 不断接收对其自身的赋值,并丢失方法体错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24466332/
我有一个存储结构向量的应用程序。这些结构保存有关系统上每个 GPU 的信息,如内存和 giga-flop/s。每个系统上有不同数量的 GPU。 我有一个程序可以同时在多台机器上运行,我需要收集这些数据
我很好奇 MPI 中缺少此功能: MPI_Isendrecv( ... ); 即,非阻塞发送和接收,谁能告诉我其省略背后的基本原理? 最佳答案 我的看法是 MPI_SENDRECV存在是为了方便那些想
当我用以下方法监听TCP或UDP套接字时 ssize_t recv(int sockfd, void *buf, size_t len, int flags); 或者 ssize_t recvfrom
SUM:如何在 azure 事件网格中推迟事件触发或事件接收? 我设计的系统需要对低频对象状态(创建、启动、检查长时间启动状态、结束)使用react。它看起来像是事件处理的候选者。我想用azure函数
我正在 MPI 中实现一个程序,其中主进程(等级 = 0)应该能够接收来自其他进程的请求,这些进程要求只有根才知道的变量值。如果我按等级 0 进行 MPI_Recv(...),我必须指定向根发送请求的
我正在学习DX12,并在此过程中学习“旧版Win32”。 我在退出主循环时遇到问题,这似乎与我没有收到WM_CLOSE消息有关。 在C++,Windows 10控制台应用程序中。 #include
SUM:如何在 azure 事件网格中推迟事件触发或事件接收? 我设计的系统需要对低频对象状态(创建、启动、检查长时间启动状态、结束)使用react。它看起来像是事件处理的候选者。我想用azure函数
我想编写方法来通过号码发送短信并使用编辑文本字段中的文本。发送消息后,我想收到一些声音或其他东西来提醒我收到短信。我怎样才能做到这一点?先感谢您,狼。 最佳答案 这个网站似乎对两者都有很好的描述:ht
所以我正在用 Java 编写一个程序,在 DatagramSocket 和 DatagramPacket 的帮助下发送和接收数据。问题是,在我发送数据/接收数据之间的某个时间 - 我发送数据的程序中的
我是 Android 编程新手,我正在用 Java 编写一个应用程序,该应用程序可以打开相机拍照并保存。我通过 Intents 做到了,但看不到 onActivityResult 正在运行。 我已经在
我有一个套接字服务器和一个套接字客户端。客户端只有一个套接字。我必须使用线程在客户端发送/接收数据。 static int sock = -1; static std::mutex mutex; vo
我正在尝试使用 c 中的套接字实现 TCP 服务器/客户端。我以这样的方式编写程序,即我们在客户端发送的任何内容都逐行显示在服务器中,直到键入退出。该程序可以运行,但数据最后一起显示在服务器中。有人可
我正在使用微 Controller 与 SIM808 模块通信,我想发送和接收 AT 命令。 现在的问题是,对于某些命令,我只收到了我应该收到的答案的一部分,但对于其他一些命令,我收到了我应该
我用c设计了一个消息传递接口(interface),用于在我的系统中运行的不同进程之间提供通信。该接口(interface)为此目的创建 10-12 个线程,并使用 TCP 套接字提供通信。 它工作正
我需要澄清一下在套接字程序中使用多个发送/接收。我的客户端程序如下所示(使用 TCP SOCK_STREAM)。 send(sockfd,"Messgfromlient",15,0);
我正在构建一个真正的基本代理服务器到我现有的HTTP服务器中。将传入连接添加到队列中,并将信号发送到另一个等待线程队列中的一个线程。此线程从队列中获取传入连接并对其进行处理。 问题是代理程序真的很慢。
我正在使用 $routeProvider 设置一条类似 的路线 when('/grab/:param1/:param2', { controller: 'someController',
我在欧洲有通过 HLS 流式传输的商业流媒体服务器。http://europe.server/stream1/index.m3u8现在我在美国的客户由于距离而遇到一些网络问题。 所以我在美国部署了新服
我有一个长期运行的 celery 任务,该任务遍历一系列项目并执行一些操作。 任务应该以某种方式报告当前正在处理的项目,以便最终用户知道任务的进度。 目前,我的django应用程序和celery一起坐
我需要将音频文件从浏览器发送到 python Controller 。我是这样做的: var xmlHttp = new XMLHttpRequest(); xmlHttp.open( "POST",
我是一名优秀的程序员,十分优秀!