第一次这样做但是生病是为了简短,目前我正在尝试让我的代码显示来自另一个类的名称,该类从main方法获取其信息作为我的类的赋值的一部分(令我感到困惑)。基本上这就是我到目前为止:
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;在控制台上。任何帮助将不胜感激。
答案 0 :(得分:0)
向Class1
添加构造函数,并从构造函数调用 setter方法。
System.out.println(Name + ": " + minutes +" m " + seconds + " s.");
在上面一行Name
是一个String数组,您无法使用System.out.println()
直接打印它。
分钟和秒钟不会有小数位,因此您可以将它们声明为int
。