私はJavaの初心者です。私はこの字句解析プログラムを自分の課題に割り当てています。プログラムはうまく動作し、唯一の問題は自分の入力がテキストから来る必要があることですファイル。Javaのテキストファイルから入力を読み取る方法
public class LexicalAnalyzer {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.println("Input strings: ");
String str = reader.nextLine();
for (int i = 0; i < str.length(); i++)
{
switch (str.charAt(i))
{
case '+':
System.out.println("Token: + Type: ADDITION");
break;
case '-':
System.out.println("Token: - Type: SUBTRACTION");
break;
case '*':
System.out.println("Token: * Type: MULTIPLICATION");
break;
case '/':
System.out.println("Token:/ Type: DIVISION");
break;
case '(':
System.out.println("Token: ( Type: LEFT PARENTHESIS");
break;
case ')':
System.out.println("Token:) Type: RIGHT PARENTHESIS");
break;
case '=':
System.out.println("Token: = Type: EQUALS");
break;
case ';':
System.out.println("Token: ; Type: END");
break;
case '0':
System.out.println("Token: 0 Type: NUM");
break;
case '1':
System.out.println("Token: 1 Type: NUM");
break;
case '2':
System.out.println("Token: 2 Type: NUM");
break;
case '3':
System.out.println("Token: 3 Type: NUM");
break;
case '4':
System.out.println("Token: 4 Type: NUM");
break;
case '5':
System.out.println("Token: 5 Type: NUM");
break;
case '6':
System.out.println("Token: 6 Type: NUM");
break;
case '7':
System.out.println("Token: 7 Type: NUM");
break;
case '8':
System.out.println("Token: 8 Type: NUM");
break;
case '9':
System.out.println("Token: 9 Type: NUM");
break;
}
}
私は、テキストファイルからの私の入力を読み取ることができる方法上の任意のアイデア?
です。 – ChiefTwoPencils
ヒント:プロンプトを表示せず、 'System.in'以外からスキャナを開きます。 – RealSkeptic
'java xxx.LexicalAnalyzer
saka1029