2016-03-30 10 views
1
String Quote = String.format(
    "This triangle has an perimeter of %.2f", TP ," and an area of %.2f",TA 
); 
System.out.printf(Qoute); 

der folgende Code druckt „String.format nicht vollständige Nachricht angezeigt

Dieses Dreieck mit einem Umfang von 17,94

hat“ und lässt sich die „“ und eine Fläche von % .2f ", TA". Was mache ich falsch?

+3

Consult [die Javadoc für 'Formatter'] (https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html) (verlinkt von ['String.format'] (https: // docs. oracle.com/javase/7/docs/api/java/lang/String.html#format (java.lang.String,%20java.lang.Object ...))), um Beispiele für die korrekte Verwendung zu sehen. –

+1

Ihre Antwort ist hier: https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#format%28java.lang.String,%20java.lang.Object ...% 29 – Atri

Antwort

6

Sie haben das falsche Format angegeben. Die späteren Parameter werden als Eingaben für den ersten Parameter betrachtet. Versuchen

String quote = String.format(
    "This triangle has an perimeter of %.2f and an area of %.2f", 
    TP ,TA 
); 
3

Sie sollten alle Parameter am Ende passieren

Beispiel:

statt dies zu tun:

String Quote = String.format(
    "This triangle has an perimeter of %.2f", TP ," and an area of %.2f",TA 
); 

tun ...

String Quote = String.format("This triangle has an perimeter of %.2f and an area of %.2f", TP, TA); 
System.out.printf(Quote); 
0

Wie pro die doc:

public static String format(String format, Object... args)

Parameter:
Format - Ein Formatstring
args - Argumente durch das Format im Formatstring verwiesen. Wenn es mehr Argumente als Formatbezeichner gibt, werden die zusätzlichen Argumente ignoriert.


Also auf Ihre Frage:.

"und lässt sich die", "und eine Fläche von% .2f" TA“Was mache ich falsch

?

Da die zusätzlichen Argumente nach dem 1. arg ignoriert werden, es auslässt die „“ und eine Fläche von% .2f „TA“

Verwandte Themen