Member 13652359 Ответов: 2

Почему я продолжаю получать ошибку " ')' expected"?


Я дважды, трижды проверил свои открывающие и закрывающие скобки.

Каждый раз, когда я пытаюсь скомпилировать свой код, появляется следующая ошибка:
C:\Java 1\Новая папка (3)\Chapter05\Checkboard.java:82: ')' ожидается
}
^

Что я уже пробовал:

import java.awt.*;
import java.awt.event.*;
import javax.swing.JOptionPane;

public class Checkerboard extends Frame implements ActionListener
{
    Panel boardPanel = new Panel();
    TextField textArray[] = new TextField[16];

    Panel inputPanel = new Panel();
    Label startLabel = new Label("Start");
    Field startField = new TextField(2);
    Label stopLabel = new Label("Stop");
    Field stopField = new TextField(2);
    Label stepLabel = new Label("Step");
    Field stepField = new TextField(2);

    Panel buttonPanel = new Panel();
    Button goButton = new Button("Go");
    Button clearButton = new Button("Clear");

    int start = 0;
    int stop = 0;
    int step = 0;

    public Checkerboard()
    {
		for(int i=0; i<textArray.lenth; i++)
        {
            textArray[i] = new TextField();
            textArray[i].setEditable(false);
            textArray[i].setText(String.valueOf(i));
            textarray[i].setBackground(Color.white);
        }

        this.setLayout(new BorderLayout(2,2));
        boardPanel.setLayout(new GridLayout(4,4,20,20));
        inputPanel.setLayout(new GridLayout(2,3,20,20));
        buttonPanel.setLayout(new GridLayout(1,2,5,5));

    	for(int j=0; j<textArray.length; j++)
    	boardPanel.add(textArray[j]);

    	inputPanel.add(startField);
    	inputPanel.add(stopField);
    	inputPanel.add(stepField);
    	inputPanel.add(startLabel);
    	inputPanel.add(stopLabel);
    	inputPanel.add(steplabel);

    	buttonPanel.add(goButton);
    	buttonPanel.add(clearButton);

    	add(inputPanel, BorderLayout.CENTER);
    	add(inputPanel, BorderLayout.NORTH);
    	add(inputPanel, BorderLayout.SOUTH);

    	startField.addActionListener(this);
    	stopField.addActionListener(this);
    	stepField.addActionListener(this);
    	goButton.addActionListener(this);
    	clearButton.addActionListener(this);

    	setVisible(true);
    	startField.requestFocus();

    	addWindowListener(new WindowAdapter()
    	{
			public void windowClosing(WindowEvent e)
        	{
            	System.ext(0);
        	}
    	}
     } //LOCATION OF THE ERROR.
	 public void actionPerformed(ActionEvent e)
	 {
    	 string arg = e.getActionCommand();
    	 try
    	 {
			 if(args == "Go")
        	 {
    			 int start = Integer.parseInt(startField.getText());
    			 int step = Integer.parseInt(stepField.getText());
    			 int stop = Integer.parseInt(stopField.getText());

    			 for(int i=0; i<textArray.length; i++)

    			 textArray[i].setBackgorund(Color.blue);

    			 for(int i = start; i<textArray.length; i+=step)

    			 textArray[i].setBackground(Color.yellow);
    		 }
		 }
		 catch(Exception x)
		 {
			 JOptionPane.showMessageDialog(null,"Date Entry Error", "Error", JOptionPane.INFORMATION_MESSAGE);
        	 args = "Clear";
    	 }

    	 if(args == "Clear")
    	 {
			 startField.setText("");
        	 stopField.setText("");
        	 stepField.settext("");

        	 for(int i=0; i<textArray.length; i++)
             textArray[i].setBackground(Color.white);
         }
     }

     public static void main(String[] args)
     {
         Checkerboard f = new Checkerboard();
         f.setBounds(50,100,300,400);
         f.setTitle("Checkerboard Array");
         f.setVisible(true);
	 }
}

2 Ответов

Рейтинг:
1

Dave Kreskowiak

Вам не хватает закрывающей скобки и точки с запятой.

addWindowListener(new WindowAdapter()
    	{
			public void windowClosing(WindowEvent e)
        	{
            	System.ext(0);
        	}
    	});


Member 13652359

После исправления этого он показывает:

C:\Java 1\Новая папка (3)\Chapter05\Checkboard.java:76: ';' ожидается
{
^
addWindowListener(новый WindowAdapter())
{//МЕСТОПОЛОЖЕНИЕ ОШИБКИ
public void windowClosing(WindowEvent e)
{
System.ext(0);
}
});

Bryian Tan

эта линия

addWindowListener(new WindowAdapter())
должно быть
addWindowListener(new WindowAdapter()
. Есть лишние ")" парантезы

Dave Kreskowiak

Я показал вам, где именно нужно решить проблему, и вы пошли и сделали что-то другое.

...вздыхать...

Member 13652359

Мой плохой Дэйв.
Сделав то что вы сказали я получил несколько ошибок после компиляции:

C:\Java 1\New folder (3)\Chapter05\Checkboard.java:12: класс Checkboard является общедоступным, должен быть объявлен в файле с именем Checkerboard.java
публичный класс Checkerboard расширяет фрейм реализует ActionListener
^
C:\Java 1\Новая папка (3)\Chapter05\Checkboard.java:19: не удается найти символ
символ : поле класса
расположение: шахматная доска класса
Поле startField = новое текстовое поле(2);
^
C:\Java 1\Новая папка (3)\Chapter05\Checkboard.java:21: не удается найти символ
символ : поле класса
расположение: шахматная доска класса
Поле stopField = новое текстовое поле(2);
^
C:\Java 1\Новая папка (3)\Chapter05\Checkboard.java:23: не удается найти символ
символ : поле класса
расположение: шахматная доска класса
Поле stepField = новое текстовое поле(2);
^
C:\Java 1\Новая папка (3)\Chapter05\Checkboard.java:35: не удается найти символ
символ : переменная длина
расположение: класс java.awt.TextField[]
for(int i=0; i<textArray.lenth; i++)
^
C:\Java 1\Новая папка (3)\Chapter05\Checkboard.java:40: не удается найти символ
символ : переменная textarray
расположение: шахматная доска класса
textarray[i].setBackground(цвет.белый);
^
C:\Java 1\Новая папка (3)\Chapter05\Checkboard.java:57: не удается найти символ
символ : переменная steplabel
расположение: шахматная доска класса
inputPanel.add(steplabel);
^
C:\Java 1\Новая папка (3)\Chapter05\Checkboard.java:79: не удается найти символ
символ : метод ext(int)
расположение: класс java.lang.Система
System.ext(0);
^
C:\Java 1\Новая папка (3)\Chapter05\Checkboard.java:85: не удается найти символ
символ : строка класса
расположение: шахматная доска класса
строка arg = e.getActionCommand();
^
C:\Java 1\Новая папка (3)\Chapter05\Checkboard.java:88: не удается найти символ
символ : переменная аргументы
расположение: шахматная доска класса
if(args == "Go")
^
C:\Java 1\Новая папка (3)\Chapter05\Checkboard.java:96: не удается найти символ
символ : метод setBackgorund(java.awt.Color)
расположение: класс java.awt.TextField
textArray[i].setBackgorund(Color.blue);
^
C:\Java 1\Новая папка (3)\Chapter05\Checkboard.java:106: не удается найти символ
символ : переменная аргументы
расположение: шахматная доска класса
args = "очистить";
^
C:\Java 1\Новая папка (3)\Chapter05\Checkboard.java:109: не удается найти символ
символ : переменная аргументы
расположение: шахматная доска класса
if(args == "очистить")
^
13 ошибок

Инструмент комплектуется кодом выхода 1

Dave Kreskowiak

Прочтите самое первое сообщение об ошибке. Он точно говорит вам, что происходит не так.

Вы объявляете класс под названием "шахматная доска" в файле под названием "Checkboard.java".

Это говорит вам точно, что нужно сделать.

Member 13652359

Спасибо, он успешно скомпилировался.

Рейтинг:
0

Patrice T

Эта линия может быть виновником

addWindowListener(new WindowAdapter()

он открывает 2 '(' и закрывает только 1 ')'
Можно догадаться, что компилятор умоляет о недостающем.