字符串索引超出范围:15

时间:2015-12-28 02:29:18

标签: java

当我运行这个java程序后发生错误。 告诉我这是什么问题。

import java.util.Scanner;

public class Solution {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("================================");
        for(int i=0;i<3;i++)
        {
            String s1=sc.next();
            int x= sc.nextInt();

            StringBuffer st = new StringBuffer();
            int a = s1.length();
             int n;
            for(n=a;n<=15-a;n++)
                {
                     s1=s1+" ";
              }
            st.append(s1);
            if(st.charAt(15)==' ')
              {  s1=s1+0+x;
            st.append(s1);
              }else
            { st.append(s1);}

            st.toString();
            System.out.print(st);
            System.out.println();
        }
        System.out.println("================================");

    }
}

1 个答案:

答案 0 :(得分:1)

你得到的原因是因为你是在调用它而不检查“st”长度是否等于或大于15

st.charAt(15)

更改
if(st.charAt(15)==' ')

 if(st.length() > 15 && st.charAt(15) == ' ')