计算负结果 - 数学失败
Calculating negative result - Math fail
晚上好!
我从来都不擅长数学。
我创建了一个微调器,您可以在其中 select 一个特定的术语,并根据它计算出不同的结果。
现在的问题是我的结果是否定的。我认为这与我分配给字符串的值有关。
Fragment.java:
List<palwerte> werteListe = new ArrayList<>();
palwerte wert1 = new palwerte("Nur sitzend oder liegend", 1.2f);
werteListe.add(wert1);
palwerte wert2 = new palwerte("Ausschließlich sitzend", 1.4f);
werteListe.add(wert2);
palwerte wert3 = new palwerte("Sitzend, aber auch gehend oder stehend", 1.6f);
werteListe.add(wert3);
palwerte wert4 = new palwerte("Überwiegend gehend und stehend", 1.8f);
werteListe.add(wert4);
palwerte wert5 = new palwerte("Körperlich anstrengende Arbeit", 2.3f);
werteListe.add(wert5);
这是计算器(也在 Fragment.java 内):
float PAL = spinnerp.getSelectedItemPosition();
float result3 = result2 * (PAL - 1);
float result4 = result3 - result2;
int result5 = Math.round(result4);
userLeistung.setText(" " + result5);
Result2 已经可以正常工作了,所以没问题。仅对我在此处发布的代码提出疑问。
和 palwerte.java:
public class palwerte {
private String name;
private float wert;
public palwerte(String name, float wert) {
this.name = name;
this.wert = wert;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getWert() {
return wert;
}
public void setWert(int wert) {
this.wert = wert;
}
@Override
public String toString() {
return name;
}
}
您似乎使用的是所选项目的位置而不是值。
您必须从列表中获取 parwerte 项目。我想这就是您要找的:
int position = spinnerp.getSelectedItemPosition();
float PAL = werteListe.get(position).getWert();
float result3 = result2 * (PAL - 1);
float result4 = result3 - result2;
int result5 = Math.round(result4);
userLeistung.setText(" " + result5);
晚上好!
我从来都不擅长数学。
我创建了一个微调器,您可以在其中 select 一个特定的术语,并根据它计算出不同的结果。
现在的问题是我的结果是否定的。我认为这与我分配给字符串的值有关。
Fragment.java:
List<palwerte> werteListe = new ArrayList<>();
palwerte wert1 = new palwerte("Nur sitzend oder liegend", 1.2f);
werteListe.add(wert1);
palwerte wert2 = new palwerte("Ausschließlich sitzend", 1.4f);
werteListe.add(wert2);
palwerte wert3 = new palwerte("Sitzend, aber auch gehend oder stehend", 1.6f);
werteListe.add(wert3);
palwerte wert4 = new palwerte("Überwiegend gehend und stehend", 1.8f);
werteListe.add(wert4);
palwerte wert5 = new palwerte("Körperlich anstrengende Arbeit", 2.3f);
werteListe.add(wert5);
这是计算器(也在 Fragment.java 内):
float PAL = spinnerp.getSelectedItemPosition();
float result3 = result2 * (PAL - 1);
float result4 = result3 - result2;
int result5 = Math.round(result4);
userLeistung.setText(" " + result5);
Result2 已经可以正常工作了,所以没问题。仅对我在此处发布的代码提出疑问。 和 palwerte.java:
public class palwerte {
private String name;
private float wert;
public palwerte(String name, float wert) {
this.name = name;
this.wert = wert;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getWert() {
return wert;
}
public void setWert(int wert) {
this.wert = wert;
}
@Override
public String toString() {
return name;
}
}
您似乎使用的是所选项目的位置而不是值。 您必须从列表中获取 parwerte 项目。我想这就是您要找的:
int position = spinnerp.getSelectedItemPosition();
float PAL = werteListe.get(position).getWert();
float result3 = result2 * (PAL - 1);
float result4 = result3 - result2;
int result5 = Math.round(result4);
userLeistung.setText(" " + result5);