Java.lang.StringIndexOutOfBoundsException

Java.lang.StringIndexOutOfBoundsException,java,Java,这是到目前为止我的代码。我对java.lang异常感到困惑。我是编程新手。我的代码可能有什么问题 import javax.swing.*; import java.lang.Character; import java.io.*; public class HWCent { public static void main(String args [])throws IOException { String vince = JOptionPane.showInpu

这是到目前为止我的代码。我对
java.lang
异常感到困惑。我是编程新手。我的代码可能有什么问题

import javax.swing.*;
import java.lang.Character;
import java.io.*;
public class HWCent
{
    public static void main(String args [])throws IOException
    {
        String vince = JOptionPane.showInputDialog("Enter Your File path :");
        String c = JOptionPane.showInputDialog("Enter a character");

        int NOc = 0;

        for(int v = 1; v<=c.length(); v++)
        {
            char x = c.charAt(v);
            if(Character.isSpaceChar(x))
            {
                NOc++;
            }


            char z = c.charAt(v);
            if(Character.isLetter(z))
            {
                NOc++;
            }
        }

        File file = new File(vince);

        if(!file.exists())
        {
            JOptionPane.showMessageDialog(null,"Wrong file path !");
        }
        else
        {
            JOptionPane.showMessageDialog(null, "The Number of Characters in "+ c +" is "+ NOc);

            try
            {
                RandomAccessFile gui = new RandomAccessFile(file," ");

                gui.writeBytes("The number of Characters in "+ c + " is " +NOc);
                gui.close();
            }

            catch(IOException m)
            {
                System.out.print(m.getMessage());
            }
        }


    }

}
import javax.swing.*;
导入java.lang.Character;
导入java.io.*;
公共类HWCent
{
公共静态void main(字符串args[])引发IOException
{
String vince=JOptionPane.showInputDialog(“输入文件路径:”);
字符串c=JOptionPane.showInputDialog(“输入字符”);
int NOc=0;

对于(int v=1;v如果您有一个长度为6的字符串,那么您可以访问的最后一个索引是5

for(int v = 1; v <= c.length(); v++)

for(int v=1;v如果您有一个长度为6的字符串,那么您可以访问的最后一个索引是5

for(int v = 1; v <= c.length(); v++)

for(int v=1;v Try
for(int v=0
not
for(int v=1;
表示您试图访问不存在的位置中的字符。
v for(int v=0;v@CoderShei请参阅@takendarkcomment并尝试:
for(int v=0;v@Takendarkk是的,是的,我收到了谢谢hehe先生。请尝试
for(int v=0
而不是
for(int v=1;
表示您试图访问不存在的位置中的字符。
v for(int v=0;v@CoderShei请参阅@takendarkcomment并尝试:
for(int v=0;v@Takendarkk是的,是的,我知道了,谢谢hehe先生。循环变量v应该初始化为0,而不是1来开始读取第一个字符。例如(int v=0;v