Я работаю с целыми числами и пытаюсь выполнить вычисления, которые включают десятичные знаки на частях. Я использовал эту же настройку раньше, и она сработала, но по какой-то причине это не работает.Целые числа и вычисления
package table.periodic;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.AdapterView.OnItemSelectedListener;
public class Gram2mol extends Activity implements AdapterView.OnItemSelectedListener {
private Spinner Spinner01;
private TextView elementnumber;
private EditText grams;
private Button calculate;
private TextView moles5;
String[] element={"Actinium", "Aluminum", "Americium",
"Antimony", "Argon", "Arsenic", "Astatine", "Barium",
"Berkelium", "Beryllium", "Bismuth", "Bohrium", "Boron",
"Bromine", "Cadmium", "Calcium", "Californium", "Carbon",
"Cerium", "Cesium", "Chlorine", "Chromium", "Cobalt",
"Copernicium", "Copper", "Curium", "Darmstadtium", "Dubnium",
"Dysprosium", "Einsteinium", "Erbium", "Europium", "Fermium",
"Fluorine", "Francium", "Gadolinium", "Gallium", "Germanium",
"Gold", "Hafnium", "Hassium", "Helium", "Holmium",
"Hydrogen", "Indium", "Iodine", "Iridium", "Iron",
"Krypton", "Lanthanum", "Lawrencium", "Lead", "Lithium",
"Lutetium", "Magnesium", "Manganese", "Meitnerium", "Mendelevium",
"Mercury", "Molybdenum", "Neodymium", "Neon", "Neptunium",
"Nickel", "Niobium", "Nitrogen", "Nobelium", "Osmium",
"Oxygen", "Palladium", "Phosphorus", "Platinum", "Plutonium",
"Polonium", "Potassium", "Praseodymium", "Promethium", "Protactinium",
"Radium", "Radon", "Rhenium", "Rhodium", "Roentgenium", "Rubidium",
"Ruthenium", "Rutherfordium", "Samarium", "Scandium", "Seaborgium",
"Selenium", "Silicon", "Silver", "Sodium", "Strontium", "Sulfur",
"Tantalum", "Technetium", "Tellurium", "Terbium", "Thallium", "Thorium",
"Thulium", "Tin", "Titanium", "Tungsten", "Ununpentium", "Ununquadium",
"Ununtrium", "Uranium", "Vanadium", "Xenon", "Ytterbium", "Yttrium", "Zinc",
"Zirconium"};
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.grams2moles);
elementnumber = (TextView) findViewById(R.id.elementnumber);
grams = (EditText) findViewById(R.id.grams);
calculate = (Button) findViewById(R.id.calculate);
calculate.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {my_func01();}});
Spinner spin = (Spinner) findViewById(R.id.elements);
spin.setOnItemSelectedListener((OnItemSelectedListener) this);
ArrayAdapter<String> aa=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, element);
aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin.setAdapter(aa);
}
void my_func01(){
int grams2;
int elementnumber2;
int moles2;
grams2 = Integer.parseInt(grams.getText().toString());
elementnumber2 = Integer.parseInt(elementnumber.getText().toString());
moles2 = (grams2 * (1/elementnumber2));
moles5.setText("" + moles2);
}
public void setSpinner01(Spinner spinner01) {
Spinner01 = spinner01;
}
public Spinner getSpinner01() {
return Spinner01;
}
public void onItemSelected(AdapterView<?> parent, View v, int position, long id)
{
if ("Actinium".equals(element[position]))
{elementnumber.setText("227");}
if ("Aluminum".equals(element[position]))
{elementnumber.setText("26.981538");}
if ("Americium".equals(element[position]))
{elementnumber.setText("243");}
if ("Antimony".equals(element[position]))
{elementnumber.setText("121.760");}
if ("Argon".equals(element[position]))
{elementnumber.setText("39.948");}
if ("Arsenic".equals(element[position]))
{elementnumber.setText("74.9216");}
if ("Astatine".equals(element[position]))
{elementnumber.setText("210");}
if ("Barium".equals(element[position]))
{elementnumber.setText("137.327");}
if ("Berkelium".equals(element[position]))
{elementnumber.setText("247");}
if ("Bismuth".equals(element[position]))
{elementnumber.setText("208.9804");}
if ("Bohrium".equals(element[position]))
{elementnumber.setText("264");}
if ("Boron".equals(element[position]))
{elementnumber.setText("10.811");}
if ("Bromine".equals(element[position]))
{elementnumber.setText("79.904");}
if ("Cadmium".equals(element[position]))
{elementnumber.setText("112.41");}
if ("Calcium".equals(element[position]))
{elementnumber.setText("40.078");}
if ("Californium".equals(element[position]))
{elementnumber.setText("251");}
if ("Carbon".equals(element[position]))
{elementnumber.setText("12.0107");}
if ("Cerium".equals(element[position]))
{elementnumber.setText("140.116");}
if ("Cesium".equals(element[position]))
{elementnumber.setText("132.90545");}
if ("Chlorine".equals(element[position]))
{elementnumber.setText("35.453");}
if ("Chromium".equals(element[position]))
{elementnumber.setText("51.996");}
if ("Copper".equals(element[position]))
{elementnumber.setText("63.546");}
if ("Curium".equals(element[position]))
{elementnumber.setText("247");}
}
public void onNothingSelected(AdapterView<?> arg0) {
elementnumber.setText("227");
}
}
моя ошибка это
09-22 20:02:58.353: ERROR/AndroidRuntime(17745): Uncaught handler: thread main exiting due to uncaught exception
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): java.lang.NullPointerException
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at table.periodic.Gram2mol.my_func01(Gram2mol.java:77)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at table.periodic.Gram2mol$1.onClick(Gram2mol.java:56)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at android.view.View.performClick(View.java:2364)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at android.view.View.onTouchEvent(View.java:4179)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at android.widget.TextView.onTouchEvent(TextView.java:6592)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at android.view.View.dispatchTouchEvent(View.java:3709)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:924)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:924)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:924)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:924)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:924)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1695)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1116)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at android.app.Activity.dispatchTouchEvent(Activity.java:2068)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1679)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at android.view.ViewRoot.handleMessage(ViewRoot.java:1697)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at android.os.Handler.dispatchMessage(Handler.java:99)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at android.os.Looper.loop(Looper.java:123)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at android.app.ActivityThread.main(ActivityThread.java:4568)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at java.lang.reflect.Method.invokeNative(Native Method)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at java.lang.reflect.Method.invoke(Method.java:521)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
09-22 20:02:58.513: ERROR/AndroidRuntime(17745): at dalvik.system.NativeStart.main(Native Method)
линия 77 является "moles5.setText (" "+ moles2);"
Я не верю, что у меня возникает какая-либо ошибка, поэтому я не беспокоюсь об этом и, похоже, не такая ошибка. Если у кого-нибудь есть идеи, дайте мне знать. Благодарю.
Хорошо. Благодарю. Я этого не осознавал. Я делал это немного в последнее время. Сейчас у меня все работает. –