我正在爲一個類編寫一個簡單的Android應用程序,並且正在執行轉換程序,該程序將英尺>英尺>碼>英里轉換。我有問題搞清楚爲什麼如果和其他聲明不會在一起。我正在粘貼Main.Java,所以如果我需要發佈主xml /字符串,請告訴我,但是所有內容都解析出來,直到我看到if或else語句時,才能看到我擁有的內容。它說它正在尋找(),但是當我添加它說它正在尋找布爾值時,我已經加倍了,但我解析了上面的文本,所以我認爲在解析後雙精度應該沒問題。我試圖讓這個儘可能清楚,但這是我編程邏輯之外的第一個編程類,所以我的術語可能不是很好。Android:調試if和else語句
package unitconversion.androidbootcamp.net.unitconversion;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import java.text.DecimalFormat;
public class MainActivity extends ActionBarActivity {
double inchesPerFoot = 12;
double feetPerYard = 3;
double yardsPerMile = 1760;
double txtNumberOfUnits;
double totalUnits;
double unitChoice;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText units =(EditText)findViewById(R.id.txtNumberOfUnits);
final Spinner Converstion = (Spinner)findViewById(R.id.Units_Array);
Button Submit = (Button)findViewById(R.id.btn_Submit);
Submit.setOnClickListener(new View.OnClickListener() {
final TextView result= ((TextView)findViewById(R.id.txt_Result));
@Override
public void onClick(View v) {
txtNumberOfUnits = Integer.parseInt(units.getText().toString());
DecimalFormat number = new DecimalFormat("###,###.##");
if unitChoice = inchesPerFoot
totalUnits = inchesPerFoot/txtNumberOfUnits
else
if unitChoice = feetPerYard
totalUnits = feetPerYard/txtNumberOfUnits
else
if unitChoice = yardsPerMile;
totalUnits = yardsPerMile/txtNumberOfUnits;
unitChoice = units.getSelectedItem().tostring();
result.setText("Total Units for" + unitChoice +" is "+ number.format(totalUnits));
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
我認爲這實際上比預期的UnitChoice更可能是轉換。或者我看錯了。在微調器中,它給出英寸>英尺,英尺>碼和碼>英里的3種選擇。閱讀它有意義嗎? – 2015-03-03 01:59:25
是的..你可以改變它爲unitChoice.equals(「英寸>英尺」),例如 – 2015-03-03 02:01:28
修復它!謝謝。 – 2015-03-03 02:12:13