Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android中的语法错误_Java_Android_Syntax - Fatal编程技术网

Java android中的语法错误

Java android中的语法错误,java,android,syntax,Java,Android,Syntax,我写了这个方法,但不断得到一个错误,说: 令牌“int”上的语法错误,应为@ 语法错误,插入“EnumBody”以完成BlockStatement @Override public int calculateCurrency() { int[] currency = getResources().getIntArray(R.array.currenciesvalues); return Integer.parseInt((String) spinner1.getSelected

我写了这个方法,但不断得到一个错误,说:

令牌“int”上的语法错误,应为@

语法错误,插入“EnumBody”以完成BlockStatement

@Override
public int calculateCurrency() 
{
    int[] currency = getResources().getIntArray(R.array.currenciesvalues);
    return Integer.parseInt((String) spinner1.getSelectedItem()) / Integer.parseInt((String)spinner2.getSelectedItem());
}
这是该方法所在的完整java类

package com.msc.conv;

import java.text.DecimalFormat;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;

public class CurrencyActivity extends Activity {
    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.currency);


final Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
    final  Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
   final EditText etResult = (EditText) findViewById(R.id.etResult);

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.currencies, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter);
spinner1.setOnItemSelectedListener(new OnItemSelectedListener(){

//public class MyOnItemSelectedListener implements OnItemSelectedListener{

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id){
        //String str = parent.getItemAtPosition(pos).toString();
        //etResult.setText(str);

    }
    @Override
    public void onNothingSelected(AdapterView parent){
        //Do nothing
    }



});

spinner2.setAdapter(adapter);
spinner2.setOnItemSelectedListener(new OnItemSelectedListener(){

//public class MyOnItemSelectedListener implements OnItemSelectedListener{

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id){
        //String str = parent.getItemAtPosition(pos).toString();
        //etResult.setText(str);

    }
    @Override
    public void onNothingSelected(AdapterView parent){
        //Do nothing
    }



});



final EditText editCurr = (EditText) findViewById(R.id.etamount);
    Button convert = (Button) findViewById(R.id.btn_convert);
     convert.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v){
             double curr = Double.valueOf(editCurr.getText().toString());


                double result2 = Double.valueOf(spinner1.toString()) / Double.valueOf(spinner2.toString());
                double result = curr * result2;
                etResult.setText(String.valueOf(result));
         }
     });


        public int calculateCurrency() 
        {
            int[] currency = getResources().getIntArray(R.array.currenciesvalues);
            return Integer.parseInt((String) spinner1.getSelectedItem()) / Integer.parseInt((String)spinner2.getSelectedItem());//currenciesvalues[spinner2.getSelectedItemPosition()];
        }

    Button homeBtn = (Button) findViewById(R.id.btn_currencyhome); 
    homeBtn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) { 
        // TODO Auto-generated method stub             
        startActivity(new Intent(CurrencyActivity.this, MainActivity.class));         
        }     
    });
}
package com.msc.conv;
导入java.text.DecimalFormat;
导入android.app.Activity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemSelectedListener;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.Spinner;
导入android.widget.Toast;
公共类CurrencyActivity扩展了活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.currency);
最终喷丝器喷丝器1=(喷丝器)findViewById(R.id.spinner1);
最终喷丝器喷丝器2=(喷丝器)findViewById(R.id.spinner2);
最终EditText etResult=(EditText)findViewById(R.id.etResult);
ArrayAdapter=ArrayAdapter.createFromResource(这个,R.array.Currences,android.R.layout.simple\u微调器\u项);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头1.设置适配器(适配器);
spinner1.setOnItemSelectedListener(新的OnItemSelectedListener(){
//公共类MyOnItemSelectedListener实现OnItemSelectedListener{
@凌驾
已选择公共位置(AdapterView父项、视图、整数位置、长id){
//String str=parent.getItemAtPosition(pos.toString();
//etResult.setText(str);
}
@凌驾
未选择公共无效(AdapterView父级){
//无所事事
}
});
喷丝头2.设置适配器(适配器);
spinner2.setOnItemSelectedListener(新的OnItemSelectedListener(){
//公共类MyOnItemSelectedListener实现OnItemSelectedListener{
@凌驾
已选择公共位置(AdapterView父项、视图、整数位置、长id){
//String str=parent.getItemAtPosition(pos.toString();
//etResult.setText(str);
}
@凌驾
未选择公共无效(AdapterView父级){
//无所事事
}
});
final EditText editCurr=(EditText)findViewById(R.id.etamount);
按钮转换=(按钮)findViewById(R.id.btn\u转换);
convert.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
double curr=double.valueOf(editCurr.getText().toString());
double result2=double.valueOf(spinner1.toString())/double.valueOf(spinner2.toString());
双结果=当前*结果2;
etResult.setText(String.valueOf(result));
}
});
公共整数计算当前值()
{
int[]currency=getResources().getIntArray(R.array.currencesvalues);
返回Integer.parseInt((字符串)spinner1.getSelectedItem())/Integer.parseInt((字符串)spinner2.getSelectedItem());//currencesvalues[spinner2.getSelectedItemPosition()];
}
按钮homeBtn=(按钮)findViewById(R.id.btn\u currencyhome);
homeBtn.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
//TODO自动生成的方法存根
startActivity(新意图(CurrencyActivity.this、MainActivity.class));
}     
});
}

}

很难说,因为代码格式不好,但我怀疑这句话就是问题所在(就在您最初发布的代码上方):

这个代码根本不属于一个方法或构造函数——它只是在类的中间。在一个类中唯一可以直接使用的是字段声明、方法、构造函数、析构函数、嵌套类和初始化器。 我怀疑你实际上是想把它放在构造函数中。与

homeBtn
结尾的代码一样

因此,作为一个简短的示例,此代码无效:

public class InvalidCode {
    private Button button = new Button();
    button.setText("Foo");
}
但这是有效的:

public class ValidCode {
    private Button button = new Button();

    public Button() {
        button.setText("Foo");
    }
}

创建类时,是否创建了Enum类?请提供更多的上下文。在正确的上下文中,这对我来说似乎没问题。@buzcek否我没有创建Enum类,我必须创建吗?@Akki:在您向我们展示周围的代码之前,我们只是猜测所有内容。问题可能在于此代码出现的位置。请尝试删除e的方法体例如,仅将其替换为
return 0;
(我注意到您实际上并没有使用
currency
无论如何…@JonSkeet如果我移除主体并替换为return 0,我仍然会遇到同样的问题
public class ValidCode {
    private Button button = new Button();

    public Button() {
        button.setText("Foo");
    }
}