※ ChatGPTを利用し、要約された質問です(原文:エラーで式の開始が不正ですと出ます。)
エラーで式の開始が不正ですと出ます
このQ&Aのポイント
質問内容: ファイル student.txt に学生データ(学籍番号、氏名、所属学部)が入っている。半角文字で学籍番号を入れて、検索ボタンを押すと、氏名と学部が表示される。存在しない学籍番号を入れて、検索ボタンを押すと、「該当なし」が表示される。
プログラムソース: グリッドレイアウトを使用してGUIを作成するJavaプログラム。学生データをファイルから読み込み、学籍番号を検索して氏名と学部を表示する機能が実装されている。
解決方法: エラーメッセージ「式の開始が不正です」とは、変数やメソッドの宣言や定義の位置が間違っていることを意味します。このエラーを解決するためには、変数やメソッドの宣言や定義の位置を修正する必要があります。具体的には、各変数の宣言やメソッドの定義を適切な場所に移動させることでエラーを解消できます。
質問内容 課題
・ファイル student.txt に学生データ(学籍番号、氏名、所属学部)が入っている。
・半角文字で学籍番号を入れて、検索ボタンを押すと、氏名と学部が表示される。
・存在しない学籍番号を入れて、検索ボタンを押すと、「該当なし」が表示される。
・ファイル student.txt の内容。
学籍番号 氏名 学部の間は半角スペースで区切る。 0521201 金城花子 文学部
0533101 守山春子 生活環境学部
0561101 大森夏子 人間科学部
0552130 名城秋子 現代文化学部
0571201 鶴舞冬子 薬学部
プログラムソース↓
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
class kadai2Frame extends JFrame {
private JTextField tf1,tf2,tf3;
public kadai2Frame() {
setSize(200,100);
addWindowListener(new WindowAdapter() { // ×クリック時の終了処理
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
Container c=getContentPane();
c.setLayout(new GridLayout(4,2)); // グリッドレイアウト4 行2 列を指定
c.add(new JLabel("学籍番号")); // 最初のラベルを作成して[名前]と表示
c.add(tf1=new JTextField("",8));
c.add(new JLabel("氏名")); // 最初のラベルを作成して[名前]と表示
c.add(tf2=new JTextField("",8));
c.add(new JLabel("学部")); // 次のラベルを作成して[年齢]と表示
c.add(tf3=new JTextField("",8));
JButton bt;
c.add(bt=new JButton("検索")); // ボタンbt を作成して[検索]と表示
bt.addActionListener(new ActionListener() { // ボタンbt のリスナーを登録
public void actionPerformed(ActionEvent e) { // ボタンが押された時
string s6 = tf1.getText();
if(s1.equals(s6)){tf2.setText(str1Ary[1]);
string s6 = tf1.getText();
if(s2.equals(s6)){tf2.setText(str2Ary[1]);
string s6 = tf1.getText();
if(s3.equals(s6)){tf2.setText(str3Ary[1]);
string s6 = tf1.getText();
if(s4.equals(s6)){tf2.setText(str4Ary[1]);
string s6 = tf1.getText();
if(s5.equals(s6)){tf2.setText(str5Ary[1]);
}
public static void main(String[] args) {
JFrame w=new kadai2Frame();
w.setVisible(true);
try{
BufferedReader br =
new BufferedReader(new FileReader("student.txt"));
}
catch (FileNotFoundException e) {
String str1 = br.readLine();
String str2 = br.readLine();
String str3 = br.readLine();
String str4 = br.readLine();
String str5 = br.readLine();
String[] str1Ary = str1.split(" ");
for (int i=0; i<str1Ary.length; i++) {
System.out.println(str1Ary[i]);
}
String[] str2Ary = str2.split(" ");
for (int i=0; i<str2Ary.length; i++) {
System.out.println(str2Ary[i]);
}
String[] str3Ary = str3.split(" ");
for (int i=0; i<str3Ary.length; i++) {
System.out.println(str3Ary[i]);
}
String[] str4Ary = str4.split(" ");
for (int i=0; i<str4Ary.length; i++) {
System.out.println(str4Ary[i]);
}
String[] str5Ary = str5.split(" ");
for (int i=0; i<str5Ary.length; i++) {
System.out.println(str5Ary[i]);
}
String s1 = "str1Ary[0]";
String s6 = "tf1";
String s2 = "str2Ary[0]";
String s3 = "str3Ary[0]";
String s4 = "str4Ary[0]";
String s5 = "str5Ary[0]";
}
}
});
}
}
以上です。誰か教えてください!!(ToT)
お礼
ご親切にありがとうございます。 もう一度参考に作ってみます。 一ついい忘れてましたが、 public static void main(String[] args){ ^ の部分が式の開始が不正ですと出ました。 括弧が対応してないからなのでしょうか?