0

我试图修复电视方法,但我不断收到相同的错误:找不到符号构造函数电视(java.lang.String,int)。如果有人能告诉我为什么会收到此错误消息,我将不胜感激。这是我的代码:

import java.util.Scanner;
public class Television
{
    private String manufacturer;       //the brand name
    private int SCREEN_SIZE;           //the size of the television screen.
    private boolean powerOn;           //the value true if the power is on
    private int channel;               //the value of the station that the television is showing.
    private int volume;                //a number value representing the loudness

    Scanner keyboard = new Scanner(System.in);
    /*
     *Constructor to assign the values to manufacturer and SCREEN_SIZE
     *@param the manufacturer value
     *@param the SCREEN_SIZE value
     */
    public Television(String sony, int size, int chan)
    {
        manufacturer = sony;
        SCREEN_SIZE = size;
        channel = chan;

        powerOn = false;
        channel = 2;
        volume = 20;
    }
    public int getChannel()
    {
        return channel;
    }
    public int getVolume()
    {
        return volume;
    }
    public String getManufacturer()
    {
        return manufacturer;
    }
    public int getScreenSize()
    {
        return SCREEN_SIZE;
    }
    public void setChannel(int channel)
    {
        channel = keyboard.nextInt();
    }
    public void power()
    {
        if (true)
        {
            powerOn = !powerOn;
        }
        else
        {
            powerOn = powerOn;
        }
    }
    public void increaseVolume()
    {
        volume = volume + 1;
    }
    public void decreaseVolume()
    {
        volume = volume - 1;
    }
public static void main(String[] args)
{
    //create a Scanner object to read from the keyboard
    Scanner keyboard = new Scanner (System.in);
    //declare variables
    int station; //the user’s channel choice


    //declare and instantiate a television object
    Television bigScreen = new Television("Toshiba", 55);



    //turn the power on
    bigScreen.power();
    //display the state of the television
    System.out.println("A " + bigScreen.getScreenSize() +
    bigScreen.getManufacturer() + " has been turned on.");
    //prompt the user for input and store into station
    System.out.print("What channel do you want? ");
    station = keyboard.nextInt();
    //change the channel on the television
    bigScreen.setChannel(station);
    //increase the volume of the television
    bigScreen.increaseVolume();
    //display the the current channel and volume of the television
    System.out.println("Channel: " + bigScreen.getChannel() +
    " Volume: " + bigScreen.getVolume());
    System.out.println("Too loud!! I am lowering the volume.");
    //decrease the volume of the television
    bigScreen.decreaseVolume();
    bigScreen.decreaseVolume();
    bigScreen.decreaseVolume();
    bigScreen.decreaseVolume();
    bigScreen.decreaseVolume();
    bigScreen.decreaseVolume();
    //display the current channel and volume of the television
    System.out.println("Channel: " + bigScreen.getChannel() +
    " Volume: " + bigScreen.getVolume());
    System.out.println(); //for a blank line
    //HERE IS WHERE YOU DO TASK #5
}
}
4

2 回答 2

4

您的 Television 构造函数接受三个参数,一个字符串和两个整数,而您只传递了两个参数。

Television bigScreen = new Television("Toshiba", 55);

应该

Television bigScreen = new Television("Toshiba", 55, there should be another int argument here);

正如我从您的代码中看到的那样,您应该将一个 int (通道)作为第三个参数传递给您的构造函数。

于 2012-12-08T21:40:01.423 回答
2

定义为接收 3 个参数的构造函数,而您只传递了两个参数

public Television(String sony, int size, int chan);

Television bigScreen = new Television("Toshiba", 55);
于 2012-12-08T21:41:24.567 回答