私はここで本当に明白な何かを見逃していることは間違いありませんが、それを理解することはできません。任意の助けいただければ幸いです。間違いはここから来ています:
package B00166353_Grades;
public class Student{
String name,banner;
public Student(String name,String banner){
this.name=name;
this.banner=banner;
}
public String toString(){
String productDetails=new String();
productDetails+=String.format("%-20s%10.2s%10s",this.name,this.banner);
return productDetails;
}
}
フォーマット文字列"%-20s%10.2s%10s"
は3つのパラメータを取ります。
%-20s
%10.2s
%10s
ただし、2つのパラメーターのみを指定します。
this.name
this.banner
エラーメッセージには、3番目のパラメータ(%10s
) 不足している。
したがって、フォーマット文字列を調整するか、3番目のパラメータを追加します。
あなたが持っている:
_productDetails+=String.format("%-20s%10.2s%10s",this.name,this.banner);
_
String
に3つの_%s
_があるため、format()
は3つのパラメーターを期待しますが、_this.name
_および_this.banner
_のみを渡します。
また、あなたはStudent
の中にいるので、notを使用する必要がありますthis
を使用する必要があります。単にname
とbanner
で参照できます。
format
メソッドに引数を追加する必要があります。フォーマットされた文字列は2つではなく3つの引数を待機するためです。
productDetails+=String.format("%-20s%10.2s%10s",this.name,this.banner);
名前とバナーのみを渡すが、文字列には%の3倍があるので、別の引数を渡す必要があると思います。%-20s%10.2sだけで同じことを試してください