numbersystem メソッドを使用して、一連の数字を画面に出力するメニューを作成しようとしています。メニューをループしようとすると、次のエラーが発生します。
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(Unknown Source)
at homework4_5.Driver.engageDriver(Driver.java:31)
at homework4_5.Driver.engageDriver(Driver.java:47)
at homework4_5.Driver.main(Driver.java:18)
また、私の方法NumberSystem
は問題ではないと信じています。(他の入力メソッドを使用する場合と同様に、適切な結果を生成するメソッドを取得できます。)
テキストメニューでこの問題に何度も遭遇しました。誰でも私を助けることができますか?スキャナーが空白の文字列を受信していて、そこから a を解析できない可能性があると思いますint
。
import java.util.Scanner;
public class Driver {
Scanner sc = new Scanner (System.in);
public int baseCount = 0;
public int numOfCols = 0;
public boolean loop = true;
public static void main(String[] args){
Driver driver = new Driver();
driver.engageDriver();
}
public void engageDriver(){
NumberSystem ns = new NumberSystem();
System.out.println("Hello, please enter the numeric value corresponding to your counting/base system" );
String temp = sc.nextLine();
if(temp.charAt(0)== 'q'){
System.out.println("Shutting Down the program...Thank You!");
loop = false;
return;
}
baseCount = Integer.parseInt(temp);
System.out.println("Now enter how many columns you would like to display ( a value from 1 to 3 ) ");
numOfCols=sc.nextInt();
System.out.println("The number table you requested is:\n ");
ns.printNumberSystem(baseCount, numOfCols);
if(loop){
engageDriver();
}
}
}