簡體   English   中英

令牌語法錯誤,構造放置錯誤代碼需要幫助

[英]Syntax error on token(s), misplaced construct(s) Code Help Needed

我使用eclipse來幫助我編寫代碼,並且出現了錯誤消息“令牌語法錯誤,構造位置錯誤”,我不完全確定我的代碼有什么問題。

此代碼的目的是編寫一個程序,用戶在其中輸入他們的姓名和年齡,該程序檢查年齡在0到125之間。如果不是,則程序顯示錯誤代碼(使用Exception Class)

這是我當前的代碼:錯誤出現在第1行和第4行

public class ThreadsUnitProject1 {
    import java.lang.String;
    import java.io.*;

    public static void main(String args[]);

    class InvalidAgeException extends Exception {
        private static final long serialVersionUID = 1L;

        public InvalidAgeException() {
            super("The age you entered is not between 0 and 125");
        }
    }

    class QuestionOne extends Thread {
        public void main(String args[]) {
            System.out.println("What is your name?");

            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            String name;

            try {
                name = br.readLine();
            }
            catch(IOException e) {
                System.out.println("Error: " + e);
                System.exit(1);
            }

            System.out.println("Hello " + name + ", how old are you?");

            String i;
            int age;

            try {
                i = br.readLine();
                age = Integer.valueOf(i);
            }
            catch(IOException e) {
                System.out.println("Error: " + e);
                System.exit(1);
            }
            catch(InvalidAgeException e) {
                System.out.println("Error: " + e);
                System.exit(1);
            }
            finally {
                System.out.println("No errors found.");
            }
        }
    }
}

謝謝謝謝謝謝您的所有幫助,我已經編碼了一段時間了,但是我是Java的新手。 再次感謝! -Kristen

public static void main(String args[])是創建帶有花括號的塊所需要的方法。 它不包含ThreadsUnitProject1類中的塊。

public static void main(String args[]){}

同樣,import語句也應該在類聲明之外。

完整的例子

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ThreadsUnitProject1 {

    public static void main(String args[]) {
    }

    class InvalidAgeException extends Exception {
        private static final long serialVersionUID = 1L;

        public InvalidAgeException() {
            super("The age you entered is not between 0 and 125");
        }
    }

    class QuestionOne extends Thread {
        public void main(String args[]) {
            System.out.println("What is your name?");

            BufferedReader br = new BufferedReader(new InputStreamReader(
                    System.in));
            String name = "";

            try {
                name = br.readLine();
            } catch (IOException e) {
                System.out.println("Error: " + e);
                System.exit(1);
            }

            System.out.println("Hello " + name + ", how old are you?");

            String i;
            int age;

            try {
                i = br.readLine();
                age = Integer.valueOf(i);
            } catch (IOException e) {
                System.out.println("Error: " + e);
                System.exit(1);
            } finally {
                System.out.println("No errors found.");
            }
        }
    }
}

public static void main(String args[])之后使用{} ,而不是;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM