所以我刚刚开始学习java,并计划深入学习它,然后我想问这个问题,因为我坚持了下来,想了解更多。我正在尝试使用get和return方法。我想以输入的方式来做这件事,但我不能使用";int age=个人1.GetAge((System.out.println("年龄:"+年龄(,因为它将变成2个变量(年龄(我希望你能理解我的问题,我知道这听起来很愚蠢,但我想学习xD。
代码:
//unfinished
//cant use the getAge, no idea how; the value in yrsleft is always 65 despite of the formula that i give
package practice;
import java.util.Scanner;
class person{
String name;
int age;
void speak() {
System.out.print("Hello my name is:" + name);
}
int retire() {
int yrsleft = 65 - age;
return yrsleft;
}
int GetAge() {
return age;
}
}
public class curiosity1{
public static void main(String[]args) {
person person1 = new person();
Scanner input = new Scanner(System.in);
System.out.print("What is your name:");
String name = input.next();
System.out.print("What is your age:");
int age = input.nextInt();
//person1.name = "John";
//person1.age = 30;
System.out.println("Name: " + name);
int age = person1.GetAge();
System.out.println("Age:" + age);
int years = person1.retire();
System.out.println("Years till retirement:" + years);
}
}```
我希望我正确理解你的问题,你想这样做吗?
person1.age = input.nextInt();
person1.name = input.next();
System.out.println("Age:" + person1.getAge());
或者,您可以重写类中的toString()
方法(因为所有java类都继承自具有此方法的Object
(,以用字符串表示对象。此外,您应该为Person
类创建一个构造函数。
class Person { // always start class name with a capital letter
int age;
String name;
public Person(int age, String name) {
this.age = age;
this.name = name;
}
// Your methods and etc.
@Override
public String toString() {
return "Name:" + this.name + ". Age:" + this.age;
}
}
然后:
int age = input.nextInt();
String name = input.next();
Person person1 = new Person(age, name);
System.out.println(person1.toString());