化学式 PV=nRT から未知数を計算する簡単なプログラムを作成しています。R は定数 8.31 です。
ユーザーは 3 つのデータを (4 つの編集テキスト ボックスから) 入力し、ラジオ ボタンから計算対象を選択できます。フェールセーフを入れていますので、箱が空欄の場合は標準状態となります。各ケースの答えを計算する方法を考え出しましたが、適切なテキスト ボックスに表示することはしませんでした。
これがXMLレイアウトです
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<EditText
android:id="@+id/editText4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText3"
android:layout_below="@+id/editText3"
android:layout_marginTop="27dp"
android:ems="10" />
etc x 4
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/button1"
android:layout_marginRight="33dp" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/pressure" />
etc x 4
</RadioGroup>
</RelativeLayout>
Java クラスのスクリプトは次のとおりです。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pressure = (EditText) findViewById(R.id.editText1);
volume = (EditText) findViewById(R.id.editText2);
moles = (EditText) findViewById(R.id.editText3);
temperature= (EditText) findViewById(R.id.editText4);
return; }
public void onClick(View view) {
switch (view.getId()) {
case R.id.button1:
RadioButton pressureButton = (RadioButton)
findViewById(R.id.radio0);
RadioButton volumeButton = (RadioButton)
findViewById(R.id.radio1);
RadioButton molesButton = (RadioButton)
findViewById(R.id.radio2);
RadioButton temperatureButton = (RadioButton)
findViewById(R.id.radio3);
return;
}
float pressuren = Float.parseFloat(pressure.getText().toString());
float volumen = Float.parseFloat(volume.getText().toString());
float molesn = Float.parseFloat(moles.getText().toString());
float temperaturen = Float.parseFloat(temperature.getText().toString());
//to allow for blank editText boxes
if (pressuren == 0) {pressuren = 100000;
}
if (volumen == 0) {volumen = (float)0.0247;
}
if (molesn == 0) {molesn= 1;
}
if (temperaturen == 0) {temperaturen = 298;
}
//to calculate pressure
if (pressureButton.isChecked()) {
float pressans = (float) (molesn * 8.31 * temperaturen ) / volumen;
float volans = (float) volumen;
float moleans = (float) molesn;
float temperaturans = (float) temperaturen;
}
etc x 4
すべてのコードで申し訳ありませんが、
editText1ボックスなどにpressuransを表示したい
どんな助けでも大歓迎です。