我开始学习Android编程,现在我尝试使用自定义字符串显示吐司。
Random r = new Random();
int i = r.nextInt(100 - 90 + 1) + 90;
String message = String.format(r);
Toast.makeText(getApplicationContext(), "@".replace(message), Toast.LENGTH_LONG).show();
任何想法我做错了什么?我收到以下错误消息:
错误:(40,40)错误:找不到合适的格式(Random)方法String.format(String,Object ...)不适用(参数不匹配; Random不能转换为String)方法String。 format(Locale,String,Object ...)不适用(参数不匹配; Random无法转换为Locale)
答案 0 :(得分:0)
确定。看起来int
无法转换为String
。
所以这解决了我的问题:
Random r = new Random();
int i = r.nextInt(100 - 90 + 1) + 90;
String message = String.format(Integer.toString(i));
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
答案 1 :(得分:0)
即使您自己找到了答案,我仍然想提供一些示例,以确保您了解String#format(String, Object...)
的工作原理:
Random r = new Random();
String message = null;
int i = r.nextInt(100 - 90 + 1) + 90;
message = String.format("%d", i);
float f = 0.1;
message = String.format("%f", f);
String s = "Hello world";
message = String.format("%s", s);
// "Hello world, f=0.1"
message = String.format("%s, f=%f", s, f);
有关java格式的更多说明,请访问: