有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

类/方法的java问题

所以我有一段代码,我正在为我的AP计算机科学课程学习,当我编译的时候,我得到了大量的错误,尽管当我看它的时候,它看起来很好,一切都正常。所有的错误都来自我的myClock课程和RepairShop课程

public class APCS_104_Time {

public static void main(String[] args) {
        tester tester = new tester();
    }
}

    class myClock {

    private int minute;
    private int hour;

    public myClock() {
        hour = 2;
        minute = 3;
    }

    public myClock(int minute, int hour) {

        public int getHour() {
            hour = IO.getInt("Enter the hour");
            return hour;
        }

        public int getMinute() {
            minute = IO.getInt("Enter the minute");
            return minute;
        }

        public void int setMinute(int minute) {
            this.minute = minute;
        }

        public void int setHour(int hour) {
            this.hour = hour;
        }

        public String toString() {
            if (minute < 10) {
                return (hour + ":0" + minute);
            }
            else {
                return (hour + ":" + minute); 
            }
        }
    }
}

class RepairShop {

    public void int springForward(myClock time) {
        hour++;
    }

    public void int resetClock(myClock time) {
        hour = 2;
        minute = 3;
    }

    public int cloneClock(myClock time) {

        myClock copy = myClock myClock.clone();
        return myClock;
    }
}

class Tester { 

    Tester() {

        myClock time = new myClock();

        System.out.printf("The time is: " + myClock(2, 20));
    }
}

错误消息包括:

C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:38: error: illegal start of expression
        public void int setMinute(int minute) {
        ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:38: error: illegal start of expression
        public void int setMinute(int minute) {
               ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:38: error: ';' expected
        public void int setMinute(int minute) {
                   ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:38: error: '.class' expected
        public void int setMinute(int minute) {
                                      ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:38: error: ';' expected
        public void int setMinute(int minute) {
                                            ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:42: error: illegal start of expression
        public void int setHour(int hour) {
        ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:42: error: illegal start of expression
        public void int setHour(int hour) {
               ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:42: error: ';' expected
        public void int setHour(int hour) {
                   ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:42: error: '.class' expected
        public void int setHour(int hour) {
                                    ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:42: error: ';' expected
        public void int setHour(int hour) {
                                        ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:46: error: illegal start of expression
        public String toString() {
        ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:46: error: ';' expected
        public String toString() {
                              ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:58: error: <identifier> expected
    public void int springForward(myClock time) {
               ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:58: error: '(' expected
    public void int springForward(myClock time) {
                ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:58: error: invalid method declaration; return type required
    public void int springForward(myClock time) {
                    ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:62: error: <identifier> expected
    public void int resetClock(myClock time) {
               ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:62: error: '(' expected
    public void int resetClock(myClock time) {
                ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:62: error: invalid method declaration; return type required
    public void int resetClock(myClock time) {
                    ^
C:\Users\Tom\Dropbox\Auriemma, Thomas\AP Comp Sci\Unit 1\APCS_104_Time.java:69: error: ';' expected
        myClock copy = myClock myClock.clone();

共 (1) 个答案

  1. # 1 楼答案

    你需要解决很多问题:

    首先

    //This myClock constructor can't contain other method!    
    public myClock(int minute, int hour) {
    
                public int getHour() {
                    hour = IO.getInt("Enter the hour");
                    return hour;
                }
    
        ...
        }
    

    第二件事是,setter是void,不能是void,并且int,从这类方法中删除int

    public void int setMinute(int minute) {
                this.minute = minute;
    }
    

    第三件事是,hour是myClock中的一个属性,不能在其他类中使用:

    private int hour;
    

    第四点是你需要遵循惯例。类名必须是大写的第一个字母。例如myClock->MyClock

    还请参考此内容,以了解有关Java类的更多信息: https://docs.oracle.com/javase/tutorial/java/concepts/class.html

    在解决了以上所有问题后,我相信您可以理解并修复代码。如果没有,就告诉我

    希望这有帮助