Проблема с скобками и декларацией массива - PullRequest
0 голосов
/ 28 июня 2011

Итак, я работаю над своим приложением и просто пытаюсь объявить новый массив строк.По какой-то причине ему требуется дополнительная скобка для закрытия класса в конце (даже если скобки в порядке), а также после «private String [] addSentences = new String [3];»if запрашивает "{" вместо ";".Другими словами, он хочет что-то закрыть ... Я не понимаю.Может быть, вы, ребята, можете помочь.

package org.chinesetones.teacher;

import java.util.ArrayList;
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.Toast;
import android.view.View;
import android.view.View.OnClickListener;
import org.chinesetones.teacher.Sentence;

public class Game extends Activity implements OnClickListener {
private String[] addStrings = new String[3];
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.game);

// Setup button listeners...
View nextButton = findViewById(R.id.next_button);
nextButton.setOnClickListener(this);
View repeatButton = findViewById(R.id.repeat_button);
repeatButton.setOnClickListener(this);
}
public void onClick(View v){
    switch(v.getId()) {
    case R.id.next_button:
        giveSentence();
        break;
    case R.id.repeat_button:
        playSentence();
        break;
    }
}
private ArrayList<Sentence> sentences;
private String[] addSentences = new String[3];
addSentences[0] = "Hi";
addSentences[1] = "No";
addSentences[2] = "Yes";
}

giveSentence () и playSentence () еще не созданы.Ниже приведены ошибки.

Описание Тип пути к ресурсу Тип Синтаксическая ошибка на токене ";", {ожидается после этого токена Game.java / ChineseTones / src / org / chinesetones / teacher line 39 Проблема с Java

Описание Тип пути к ресурсам Синтаксическая ошибка, введите "}" для завершения ClassBody Game.java / ChineseTones / src / org / chinesetones / teacher line 43 Проблема с Java

Спасибо!

Ответы [ 2 ]

1 голос
/ 28 июня 2011

Вы не можете инициализировать поле класса таким образом.

Изменить

private String[] addSentences = new String[3];
addSentences[0] = "Hi";
addSentences[1] = "No";
addSentences[2] = "Yes";

на

private String[] addSentences = {"Hi", "No", "Yes"};

Другой вариант - просто сделать

private String[] addSentences = new String[3];

и инициализируйте массив в конструкторе класса.

public Game()
{
   addSentences[0] = "Hi";
   addSentences[1] = "No";
   addSentences[2] = "Yes";
   ...
}
0 голосов
/ 28 июня 2011

Вы можете иметь объявления только вне методов.Таким образом, ваши назначения addSentence

addSentences[0] = "Hi"; 
addSentences[1] = "No"; 
addSentences[2] = "Yes"; 

должны быть либо в методе, конструкторе, либо быть частью объявления.:

 private String[] addSentences = {"Hi","No","Yes"}; 

Если у вас был больший список инициализации, вы помещаете эту логику в свой конструктор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...