线程"main"中的异常java.util.MissingFormatArgumentException:格式说明符'10s'

use*_*208 12 java string string.format

毫无疑问,我错过了一些非常明显的东西,但我无法弄明白.任何帮助,将不胜感激.错误来自这里:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

Uwe*_*nus 30

您的格式字符串"%-20s%10.2s%10s"有三个参数:

  1. %-20s
  2. %10.2s
  3. %10s

但只提供两个参数:

  1. this.name
  2. this.banner

错误消息指出%10s缺少第三个参数(for ).

因此,要么调整格式字符串,要么添加第三个参数.