Android studio Error:(11, 8) 错误: 类MainActivity是公共的, 应在名为 MainActivity.java 的文件中声明
时间: 2024-06-07 15:10:31 浏览: 13
这个错误通常表示你的 MainActivity 类没有在正确的文件中声明。请检查你的项目结构,确保 MainActivity 类在名为 MainActivity.java 的文件中声明。同时,确保文件名与类名完全一致,包括大小写。如果问题仍然存在,请尝试清理和重建你的项目,或者重新创建一个新的 MainActivity 类。
相关问题
请在Android studio中的MainActivity.java写一个计算器程序,实现加减乘除,连加连减操作
好的,以下是一个简单的计算器程序实现加减乘除,连加连减操作的代码:
```
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button btnAdd, btnSub, btnMul, btnDiv, btnEq, btnC, btnPlus, btnMinus;
private EditText etResult;
private boolean plusFlag = false;
private boolean minusFlag = false;
private double num1 = 0.0, num2 = 0.0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnAdd = findViewById(R.id.btnAdd);
btnSub = findViewById(R.id.btnSub);
btnMul = findViewById(R.id.btnMul);
btnDiv = findViewById(R.id.btnDiv);
btnEq = findViewById(R.id.btnEq);
btnC = findViewById(R.id.btnC);
btnPlus = findViewById(R.id.btnPlus);
btnMinus = findViewById(R.id.btnMinus);
etResult = findViewById(R.id.etResult);
btnAdd.setOnClickListener(this);
btnSub.setOnClickListener(this);
btnMul.setOnClickListener(this);
btnDiv.setOnClickListener(this);
btnEq.setOnClickListener(this);
btnC.setOnClickListener(this);
btnPlus.setOnClickListener(this);
btnMinus.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnAdd:
num1 = Double.parseDouble(etResult.getText().toString());
etResult.setText("");
plusFlag = true;
break;
case R.id.btnSub:
num1 = Double.parseDouble(etResult.getText().toString());
etResult.setText("");
minusFlag = true;
break;
case R.id.btnMul:
num1 = Double.parseDouble(etResult.getText().toString());
etResult.setText("");
break;
case R.id.btnDiv:
num1 = Double.parseDouble(etResult.getText().toString());
etResult.setText("");
break;
case R.id.btnEq:
num2 = Double.parseDouble(etResult.getText().toString());
if (plusFlag) {
etResult.setText(String.valueOf(num1 + num2));
plusFlag = false;
} else if (minusFlag) {
etResult.setText(String.valueOf(num1 - num2));
minusFlag = false;
} else if (num1 != 0.0) {
etResult.setText(String.valueOf(num1 * num2));
} else {
etResult.setText("Error");
}
break;
case R.id.btnC:
num1 = 0.0;
num2 = 0.0;
plusFlag = false;
minusFlag = false;
etResult.setText("");
break;
case R.id.btnPlus:
num1 += Double.parseDouble(etResult.getText().toString());
etResult.setText("");
break;
case R.id.btnMinus:
num1 -= Double.parseDouble(etResult.getText().toString());
etResult.setText("");
break;
}
}
}
```
在该程序中,我们创建了5个操作符按钮和3个数字按钮,分别对应加、减、乘、除、等于、清空、连加和连减操作。在点击了加、减、乘、除操作符时,我们将当前已经输入的数字作为num1,清空输入框,标记当前操作为加、减、乘、除。在点击等于操作符时,我们将当前已经输入的数字作为num2,根据标记的操作符进行相应的计算,并将结果显示在输入框中。在点击清空按钮时,我们将所有变量和标记重置。在点击连加和连减按钮时,我们将当前已经输入的数字作为操作数,将num1作为上一次的计算结果,进行相应的计算,并将结果显示在输入框中。
studio设置项目的首页出现问题Error running 'MainActivity': The activity must be exported or contain an intent-filter
这个错误通常出现在 Android 应用程序中,它表示你的 MainActivity 类没有被正确地导出或包含了一个 intent-filter。要解决这个问题,你可以在 AndroidManifest.xml 文件中为 MainActivity 添加以下代码:
```xml
<activity android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
```
这段代码将 MainActivity 导出并将其标记为启动器活动,同时指定了它的 intent-filter,这样应用程序就可以正确启动 MainActivity 了。
如果你已经在 AndroidManifest.xml 文件中添加了上述代码,但仍然出现该错误,可能是因为你的项目中存在其他错误导致 MainActivity 无法正确运行。你可以尝试检查项目中的其他代码和配置文件,以确保它们都正确无误。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)