如何解决需要以 int 形式计算分钟数,然后以 double 形式计算秒数方法应该使用 Java 中的格式字符串
我正在创建一个公共方法 String namo: Rick saldo: 1000
namo: Bob saldo: 300
。
要求是随机生成一个十分之一秒的数字(例如 6500),并将这些数字转换为整数分和双秒。
我需要使用这个格式字符串:toString()
。
我正在努力解决这个问题,因为我创建了以下方法:
"%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;
}
它需要返回以下内容:
约翰·多伊 19 分 8.2 秒
我是这个网站和 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 是小数点后的秒数。
您应该使用此链接来帮助您更多地理解这个概念:https://www.javatpoint.com/java-string-format
如果我的回答没有意义,请随时在评论中问我。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。