2016-09-10 3 views
0

Ich fange an Android Programmierung zu lernen, und jetzt versuche ich einen Toast mit einer benutzerdefinierten Zeichenfolge anzuzeigen.Toast mit benutzerdefinierten Nachricht

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(); 

Irgendwelche Ideen, was ich falsch mache? Ich erhalte die folgende Fehlermeldung:

Error:(40, 40) error: no suitable method found for format(Random) method String.format(String,Object...) is not applicable (argument mismatch; Random cannot be converted to String) method String.format(Locale,String,Object...) is not applicable (argument mismatch; Random cannot be converted to Locale)

+0

Was genau ist falsch? Erhalten Sie eine Fehlermeldung? –

+0

Ja. Fehler: (40, 40) Fehler: keine geeignete Methode für das Format gefunden (Zufall) Methode String.format (String, Object ...) ist nicht anwendbar (Argument stimmt nicht überein; Zufall kann nicht in String konvertiert werden) Methode String. Format (Locale, String, Object ...) ist nicht anwendbar (argument mismatch; Random kann nicht in Locale konvertiert werden) – Joe

+0

@Joe Ich denke, du wolltest 'i' anzeigen, also musst du es in' String.format einfügen() 'anstatt Ihres' Random' Objekts, wie 'String message = String.format (i);' – Jezor

Antwort

0

Auch wenn Sie die Antwort selbst gefunden habe, möchte ich noch ein paar Beispiele liefern, um sicherzustellen, dass Sie verstehen, wie String#format(String, Object...) Werke:

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); 

Weitere Erläuterungen zur Java-Formatierung finden Sie unter:

0

Ok. Sieht aus wie int kann nicht in String konvertiert werden.

So fixiert das ist mein Problem:

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(); 
Verwandte Themen