Java字符串索引超出范围,不知道出了什么问题
任何人都可以看到我的代码给我带来麻烦的原因或位置,我得到的字符串索引超出范围:-1错误 我试图做的是通过GUI从用户那里获取输入,并获取该输入,然后检查它是否包含任何数字,即1,2,3。。。并将其转换为字符串(“一”、“二”、“三”), 用一句话替换它们 所以这句话(我有9只猫和1只狗) 将导致(我有九只猫和一只狗) 我不确定我做错了什么,或者如果我想做的是合法的编程,你可以告诉我,我对它很陌生 谢谢大家Java字符串索引超出范围,不知道出了什么问题,java,Java,任何人都可以看到我的代码给我带来麻烦的原因或位置,我得到的字符串索引超出范围:-1错误 我试图做的是通过GUI从用户那里获取输入,并获取该输入,然后检查它是否包含任何数字,即1,2,3。。。并将其转换为字符串(“一”、“二”、“三”), 用一句话替换它们 所以这句话(我有9只猫和1只狗) 将导致(我有九只猫和一只狗) 我不确定我做错了什么,或者如果我想做的是合法的编程,你可以告诉我,我对它很陌生 谢谢大家 private String getResultStr() { /*** Loca
private String getResultStr()
{
/*** Local Variables ***/
StringBuffer result;
String userInput;
int digit;
int count;
String finalResult = "";
String digitAsStr;
/*** Instantiate ***/
result = new StringBuffer();
/*** Extract Digits (if any) ***/
userInput = txtInput.getText();
result.append( userInput );
count = 0;
while ( count < result.length() )
{
for ( int i = 0; i < result.length(); i++ )
if ( result.charAt( i ) >= '0' || result.charAt( i ) <= '9' )
{
digit = result.charAt( i );
digitAsStr = digitToString( digit );
result.deleteCharAt( i );
result.insert( i - 1, digitAsStr );
}
count++;
}
finalResult = result.toString();
return finalResult;
}
私有字符串getResultStr()
{
/***局部变量***/
字符串缓冲结果;
字符串用户输入;
整数位数;
整数计数;
字符串finalResult=“”;
数字串;
/***实例化***/
结果=新的StringBuffer();
/***提取数字(如果有)***/
userInput=txtInput.getText();
追加(用户输入);
计数=0;
while(count if(result.charAt(i)>='0'| | result.charAt(i)您的if语句:if(result.charAt(i)>='0'| | result.charAt(i)='0'&&result.charAt(i)您从哪里开始迭代
for(inti=0;i
然后得到
result.insert( i - 1, digitAsStr );
你的线路
result.insert( i - 1, digitAsStr );
在迭代中,0将尝试访问-1处的索引。哪一行导致了错误?(顺便说一句,在询问stackoverflow之前,您应该仔细检查一下!)非常感谢修复我错误的人,我现在只需要担心在显示中获得正确的输入!!!非常感谢