作为Java的新手,我在类和类型的概念之间感到困惑.例如,对象应该"Hello World!"属于类型 String还是类 String?或者两者都有?
我是编程新手,刚开始学习Java.我很好奇,对象System.out是属于类System还是类PrintStream?
我提到了一本教科书,JAVA CONCEPTS 4/e.该教科书指出,要在System类中使用out对象,必须将其引用为,System.out但在本书后面它声明System.out属于类PrintStream.
我搜索过google和stackoverflow,但所有的答案都让我难以理解.
我已经使用方法calculate(String)来计算String类型中的操作数,例如"2 + 3".我已经尝试了很多操作数,方法工作正常,除了这个:calculate("2.002*1000)//返回2001.9999999999我很好奇怎么会发生这个错误.我已经多次查看代码而且我不能找出问题所在.
这里的代码:
private String calculate(String str)
{
String num = "";
List<String> list = new ArrayList<String>();
for(int i = 0; i < str.length(); i++) //Arrange str into list, elements are seperated by "+" or "-"
{
if(! checkPM(str.substring(i, i + 1)))
{
num = num + str.substring(i, i + 1);
} else
{
list.add(num);
list.add(str.substring(i, i + 1));
num = "";
}
}
list.add(num);//add the last num into list
if(checkSign(list.get(list.size() - 1)))//remove last element if it is an …Run Code Online (Sandbox Code Playgroud) 当用户旋转屏幕时,我正在尝试让我的应用更改其布局.当我在虚拟机屏幕处于纵向位置时启动应用程序.应用程序在启动时没问题但是当我将屏幕旋转到横向时,应用程序将停止并且logCat在第40行显示nullPointerException
第39行 btn=(Button)findViewById(R.id.btn);
第40行 btn.setOnClickListener(btnListener);
我认为findViewById()方法返回null,但我不知道为什么.此外,如果我在横向位置的屏幕上启动应用程序,则会出现相同的错误.
求助:问题可能是嵌套if的安排,为每个if和else添加大括号 - 如果确实解决了这个问题
以下是代码:
MainActivity.java
package com.example.test;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
SharedPreferences preference;
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
preference = getSharedPreferences("preferences", MODE_PRIVATE);
if(getResources().getConfiguration().orientation == 1)
if(preference.getInt("THE_CHECKED", 0) == 0)
setContentView(R.layout.portrait_black);
else if(preference.getInt("THE_CHECKED", 0) == 1)
setContentView(R.layout.portrait_white);
else if(getResources().getConfiguration().orientation == 2)
if(preference.getInt("THE_CHECKED", 0) …Run Code Online (Sandbox Code Playgroud)