需要将分钟数计算为 int,然后将秒数计算为 double。方法应使用 Java 中的格式字符串
Required to calculate the number of minutes as an int, then the seconds as a double. method should use a format string in Java
我正在创建一个 public 方法字符串 toString()
。
要求是取一个随机生成的数字,即十分之一秒(例如 6500),并将其转换为整数分和双秒。
我需要使用这种格式字符串:"%s \t %d mins %.1f secs \t %s"
.
我正在努力解决这个问题,因为我创建了以下方法:
public String toString()
{
int time = 6500;
int minutes = time / 600;
double seconds = (time % 600) / 600;
String displayTime = String.format("%s \t %d mins" + minutes, seconds + "%.1f secs \t %s");
return this.getName() + ", " + displayTime;
}
我收到一个错误:
java.util.MissingFormatArgumentException: Format specifier 'd'
需要return以下内容:
John Doe 19 mins 8.2 secs
我是这个网站的新手 Java,所以任何帮助都非常有帮助。
String.format() 不能这样工作。
例如:String.format("%s = %d", "joe", 35);
变量名称必须在末尾以逗号分隔,而不是在字符串的中间。
您需要更改代码,尤其是这一行:
String displayTime = String.format("%s \t %d mins" + minutes, seconds + "%.1f secs \t %s");
至:
String name = getName(); //to get the string "John Doe"
String displayTime = String.format("%s \t %d mins %.1f secs \t", name, mins, seconds);
return name + "," + displayName; //we already have the name defined
要使其正常工作,变量名应位于末尾而不是中间。此外,字符串中“%”的数量应等于变量。例如,我上面回答中的第一个 %s 是姓名,接下来的 %d 是分钟,最后一个 %.1f 是秒数,直到小数点后一位。
你应该使用这个 link 来帮助你更多地理解这个概念:https://www.javatpoint.com/java-string-format
如果我的回答不合理,请随时在评论中问我。
我正在创建一个 public 方法字符串 toString()
。
要求是取一个随机生成的数字,即十分之一秒(例如 6500),并将其转换为整数分和双秒。
我需要使用这种格式字符串:"%s \t %d mins %.1f secs \t %s"
.
我正在努力解决这个问题,因为我创建了以下方法:
public String toString()
{
int time = 6500;
int minutes = time / 600;
double seconds = (time % 600) / 600;
String displayTime = String.format("%s \t %d mins" + minutes, seconds + "%.1f secs \t %s");
return this.getName() + ", " + displayTime;
}
我收到一个错误:
java.util.MissingFormatArgumentException: Format specifier 'd'
需要return以下内容:
John Doe 19 mins 8.2 secs
我是这个网站的新手 Java,所以任何帮助都非常有帮助。
String.format() 不能这样工作。 例如:String.format("%s = %d", "joe", 35); 变量名称必须在末尾以逗号分隔,而不是在字符串的中间。
您需要更改代码,尤其是这一行:
String displayTime = String.format("%s \t %d mins" + minutes, seconds + "%.1f secs \t %s");
至:
String name = getName(); //to get the string "John Doe"
String displayTime = String.format("%s \t %d mins %.1f secs \t", name, mins, seconds);
return name + "," + displayName; //we already have the name defined
要使其正常工作,变量名应位于末尾而不是中间。此外,字符串中“%”的数量应等于变量。例如,我上面回答中的第一个 %s 是姓名,接下来的 %d 是分钟,最后一个 %.1f 是秒数,直到小数点后一位。
你应该使用这个 link 来帮助你更多地理解这个概念:https://www.javatpoint.com/java-string-format
如果我的回答不合理,请随时在评论中问我。