是一个初学者,谁能帮助我弄清楚我们的情况。我正在尝试读取字符串,并将字符串的每个字符存储在数组中。
import java.util.Scanner;
public class CoreMainDigitExtractor {
static Scanner inputString = new Scanner(System.in);
public static void main(String[] args) {
digitExtractor ExtracDig = new digitExtractor();
System.out.println("Enter a String to Extract and Display Vertically in Reverse Order : ");
String input1 = inputString.nextLine();
System.out.println("User input String is : " + input1);
System.out.println("Calling Method 'OrderByMaths' in Object 'ExtracDig' of Class 'digitExtractor', with User Input String....'"+input1+"'");
ExtracDig.OrderbyMaths(input1);
}
}
public class digitExtractor {
int tNumber;
public digitExtractor() {
// TODO Auto-generated constructor stub
}
public void OrderbyMaths(String numberSequence) {
System.out.println("OrderbyMatch : Inside Method 'OrderbyMaths'....");
System.out.println("OrderbyMatch : Initializing a variable of type int 'tNumberLength'.");
int tNumberLength = numberSequence.length();
System.out.println("OrderbyMatch : Variable Initialized of type int 'tNumberLength'.");
System.out.println("OrderbyMaths : Capture length of User Input String into Variable 'tNumberLength'.");
System.out.println("OrderbyMaths : The length of User Input String in Variable 'tNumberLength' is '" + tNumberLength + "'.");
System.out.println("OrderbyMatch : Initializing an Array of type int 'arrNumberSequence'; with Size of Array equal to 'tNumberLength'.");
char arrNumberSequence[] = new char[tNumberLength];
System.out.println("OrderbyMatch : Initialized Array 'arrNumberSequence' with Size '" + arrNumberSequence.length + "'");
int i = 0;
while (i <= arrNumberSequence.length){
arrNumberSequence[i] = numberSequence.charAt(i);
System.out.println("OrderbyMatch : Value in Array Slot '"+arrNumberSequence[i]+"' is '"+ numberSequence.charAt(i)+"'");
i++;
}
}
}
输出值
输入一个字符串以相反的顺序垂直提取和显示:
哈克
用户输入的字符串是:HACK
使用用户输入字符串....’HACK’调用类’digitExtractor’的对象’ExtracDig’中的方法’OrderByMaths’
OrderbyMatch:内部方法“ OrderbyMaths”…。
OrderbyMatch:初始化一个类型为int’tNumberLength’的变量。
OrderbyMatch:变量,类型为int’tNumberLength’。
OrderbyMaths:将用户输入字符串的长度捕获到变量’tNumberLength’中。
OrderbyMaths:变量“ tNumberLength”中用户输入字符串的长度为“ 4”。
OrderbyMatch:初始化一个类型为’arrNumberSequence’的数组;Array的大小等于’tNumberLength’。
OrderbyMatch:大小为“ 4”的初始化数组“ arrNumberSequence”
OrderbyMatch:阵列插槽“ H”中的值为“ H”
OrderbyMatch:阵列插槽“ A”中的值为“ A”
OrderbyMatch:阵列插槽“ C”中的值为“ C”
OrderbyMatch:阵列插槽“ K”中的值为“ K”
线程“主”中的异常java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:java.lang.String.charAt(未知源)为4,digitExtractor.OrderbyMaths(digitExtractor.java:23)位于CoreMainDigitExtractor.main(CoreMainDigitExtractor.java)
:16)
问候
Dwenish
对于字符串HACK
,我们有一个.length
的4
。Java中的索引从0开始,所以我们有
['H','A','C','K']
^ ^ ^ ^
0 1 2 3
所以让我们在while循环中说 i=4
while (i <= arrNumberSequence.length)
while (is 4 less than or equal to 4? yes 4==4 so continue with the loop)
当我们尝试访问时,charAt(4)
它不是我们字符串的有效索引
['H','A','C','K']
^ ^ ^ ^ ^
0 1 2 3 4
所以我们得到了例外
java.lang.StringIndexOutOfBoundsException: String index out of range: 4
问题内容: EVerytime我写了任何与此代码相似的代码,但出现这种类型的错误。它正在构建文件,但不允许其运行,只会引发异常。我不熟悉异常,因为我是一个初学者,请帮助我,特别指出我正在犯的错误。 当我运行程序时,它显示以下错误: 问题答案: 循环控制变量(/ ) 上升到 -这是一个超出范围的索引(因为字符串/列表的最大索引是-请记住第一个索引是0)。 尝试使用和作为循环条件。
问题内容: 嗨,我编写了Java代码来查找由其他单词组成的最长单词。我的逻辑是从文本文件中读取单词列表,并将每个单词添加到一个数组中(在文本中,单词被排序,并且每行中只有一个单词)之后,我们检查数组中的每个元素是否具有其他元素作为子字符串。如果是这样,我们计算子字符串的数量。具有最大子串数的元素将是结果 当我给一个只有两个单词的文本文件时,代码正在运行。但是,当有两个以上的单词时,我将出现以下错误
问题内容: 因此,我正在编写一个简单的程序来输入字符串并计算总数。的米 所以,这是我的代码 where 和str是我接受过的字符串,但是此错误不断出现 这是什么错误以及如何将其删除? 问题答案: 字符串,有效索引从0到n-1; 更改 至
问题内容: 从类中调用函数时出现以下错误:java.lang.StringIndexOutOfBoundsException:超出范围的字符串索引:-1尽管我使用系统打印来查看输入的内容,但仍在substring()函数中进行传递似乎是正确的。函数isContained()返回一个布尔值,该值定义作为参数传递的子字符串是否在单词列表中。我的代码是: 其中size是我在函数中传递的字符串(str)的
问题内容: 我写了这个小函数只是为了练习,但是抛出了一个异常(“字符串索引超出范围:29”),我不知道为什么… (我知道这不是编写此函数的最佳方法,可以使用正则表达式。) 这是代码: 问题答案: 您是否正在从其他语言翻译此代码?您要遍历字符串,直到到达空字符(),但Java通常不会在字符串中使用这些字符。在C语言中,这可以工作,但是在您的情况下,您应该尝试 代替 此外, 如果您期望的是,在代码末尾
问题内容: 我猜我正在收到此错误,因为字符串正在尝试对值进行子字符串化。但是那部分不能消除这个问题吗? 这是Java代码段: 我收到此错误: 问题答案: 我猜我正在收到此错误,因为字符串试图将Null值作为子字符串。但是“ .length()> 0”部分不能消除该问题吗? 不,在itemdescription为null时调用itemdescription.length()不会生成StringInd