我是初学者,谁能帮我弄清楚我们在做什么。我正在尝试读取字符串并将字符串的每个字符存储在数组中。
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++;
}
}
}
OUTPUT
输入要提取的字符串并以相反顺序垂直显示:
HACK
用户输入字符串是:HACK
使用用户输入字符串调用“digitExtractor”类的“ExtraDig”对象中的“OrderByMaths”方法....“HACK”
OrderbyMatch:内部方法“OrderbyMaths”....
OrderbyMatch :初始化 int 'tNumberLength' 类型的变量。
OrderbyMatch :变量初始化为 int 'tNumberLength' 类型。
OrderbyMaths :将用户输入字符串的长度捕获到变量“tNumberLength”中。
OrderbyMaths:变量“tNumberLength”中用户输入字符串的长度为“4”。
OrderbyMatch :初始化 int 'arrNumberSequence' 类型的数组;数组大小等于“tNumberLength”。
OrderbyMatch:初始化数组“arrNumberSequence”,大小为“4”
OrderbyMatch:数组槽“H”中的值为“H”
OrderbyMatch:数组槽“A”中的值为“A”
OrderbyMatch:数组槽“C”中的值为“C”
OrderbyMatch:数组槽“K”中的值为“K”
线程“main”中的异常 java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:4
在 java.lang.String.charAt(来源未知)
在 digitalExtractor.OrderbyMaths(digitExtractor.java:23)
在 CoreMainDigitExtractor.main(CoreMainDigitExtractor.java:16)
Regards
Dwenish