第一次这样做时,我会尽量简短,目前我正试图让我的代码显示另一个类的名称,该类从主方法获得信息,作为我的类的赋值的一部分(我知道这很困惑)。基本上这就是我目前所拥有的:
public class Main {
public static void main(String[] args) {
String[] Names = {
"Array 1",
"Array 2",
"Array 3",
"Array 4",
"Array 5",
"Array (...)",
"Array 40",
};
for (String z : Names) {
//instantiated
String[] Name = null;
//instantiated
int minutes = 0;
//instantiated
int seconds = 0;
Class1 object = new Class1(Names, minutes, seconds);
seconds = object .getSeconds();
minutes = object .getMinutes();
Name = object .getName(Names);
System.out.println(Name + ": " + minutes +" m " + seconds + " s.");
}
}
}
这是一个单独的类别:
public class Class1{
private String Name[];
private double minutes;
private double seconds;
public int getMinutes() {
minutes = Math.random() * 15;
return (int) this.minutes;
}
public int getSeconds() {
seconds = Math.random() * 59;
return (int) this.seconds;
}
public void setMinutes(int minutes) {
this.minutes = minutes;
}
public void setSeconds(int seconds) {
this.seconds = seconds;
}
public String[] getName(String[] Names) {
return Names;
}
public Song(String[] Names, int minutes, int seconds) {
this.minutes = getMinutes();
this.getName(Names);
this.seconds = getSeconds();
}
}
这就是我的代码。目前,秒和分钟的math.random现在运行得很好,但唯一让我感到困惑的是Names变量,因为它正在控制台上打印null或[Ljava.lang.String;。如果有任何帮助,我们将不胜感激。
向Class1
添加构造函数,并从构造函数调用setter方法。
System.out.println(Name + ": " + minutes +" m " + seconds + " s.");
在上面的行中,Name
是一个String数组,您不能使用System.out.println()
直接打印它。分钟和秒没有小数点,所以您可以将它们声明为int
。