Java 带变量的IF THEN的正确sytax

Java 带变量的IF THEN的正确sytax,java,android,Java,Android,如何在两个选项中进行选择 if ((one_spinner.getSelectedItem().toString() .equals("one"))) { double one_thing = new Double(one.getText() .toString()); double two_thing = one_thing * 5;

如何在两个选项中进行选择

if ((one_spinner.getSelectedItem().toString()
                    .equals("one"))) {
                double one_thing = new Double(one.getText()
                        .toString());
                double two_thing = one_thing * 5;

            } else {
                double two_thing = new Double(one.getText()
                        .toString());
                double one_thing = two / 5;
            }

一种可能性是使用条件运算符:

double a = condition ? option1 : option2;
double b = condition ? option3 : option4;

一种可能性是使用条件运算符:

double a = condition ? option1 : option2;
double b = condition ? option3 : option4;

假设要在
if
语句之后引用
one\u thing
two\u thing
,则需要在
if
语句之前声明它们,以便它们仍在范围内:

double one_thing;
double two_thing;
if (one_spinner.getSelectedItem().toString().equals("one")) {
   one_thing = Double.parseDouble(one.getText().toString());
   two_thing = one_thing * 5;
} else {
   two_thing = Double.parseDouble(one.getText().toString());
   one_thing = two_thing / 5;
}
请注意,这可以通过删除冗余代码来简化:

double parsedValue = Double.parseDouble(one.getText().toString());

double one_thing;
double two_thing;
if (one_spinner.getSelectedItem().toString().equals("one")) {
   one_thing = parsedValue;
   two_thing = one_thing * 5;
} else {
   two_thing = parsedValue;
   one_thing = two_thing / 5;
}
或者,考虑到两者之间的关系始终为5:

double one_thing = Double.parseDouble(one.getText().toString());
if (one_spinner.getSelectedItem().toString().equals("one")) {
   one_thing = one_thing / 5;
}
double two_thing = one_thing * 5;

请注意,按照惯例,这些名称将是
oneThing
twoothing

假设要在
if
语句之后引用
one\u thing
twoo\u thing
,则需要在
if
语句之前声明它们,以便它们仍然在范围内:

double one_thing;
double two_thing;
if (one_spinner.getSelectedItem().toString().equals("one")) {
   one_thing = Double.parseDouble(one.getText().toString());
   two_thing = one_thing * 5;
} else {
   two_thing = Double.parseDouble(one.getText().toString());
   one_thing = two_thing / 5;
}
请注意,这可以通过删除冗余代码来简化:

double parsedValue = Double.parseDouble(one.getText().toString());

double one_thing;
double two_thing;
if (one_spinner.getSelectedItem().toString().equals("one")) {
   one_thing = parsedValue;
   two_thing = one_thing * 5;
} else {
   two_thing = parsedValue;
   one_thing = two_thing / 5;
}
或者,考虑到两者之间的关系始终为5:

double one_thing = Double.parseDouble(one.getText().toString());
if (one_spinner.getSelectedItem().toString().equals("one")) {
   one_thing = one_thing / 5;
}
double two_thing = one_thing * 5;

请注意,这些名称通常是
oneThing
twoothing
,顺便说一句。

这似乎是正确的。那么问题出在哪里?@Tudor:可能变量的范围仅限于if-else块内。我认为他们担心一个微调器只能是“一”或“两”,而
else
不能完全实现这一点。但是我也不确定我是否理解这个模糊的问题。我怀疑你的问题不是你要问的问题。java/eclipse希望我在IF中重命名one_thing和two_thing,因为它已经在ELSE中定义了?我从Jon Skeet那里得到了答案,从今天早上开始我就一直在愉快地编写代码。我还没来得及编辑,就把问题解决了。我仍然想感谢大家使用data,因为我从Stack Exchange中学到了很多东西,我一开始对java或android xml一无所知,我几乎拥有了一个完整的应用程序。这似乎是正确的。那么问题出在哪里?@Tudor:可能变量的范围仅限于if-else块内。我认为他们担心一个微调器只能是“一”或“两”,而
else
不能完全实现这一点。但是我也不确定我是否理解这个模糊的问题。我怀疑你的问题不是你要问的问题。java/eclipse希望我在IF中重命名one_thing和two_thing,因为它已经在ELSE中定义了?我从Jon Skeet那里得到了答案,从今天早上开始我就一直在愉快地编写代码。我还没来得及编辑,就把问题解决了。我仍然要感谢大家对数据的支持,因为我从Stack Exchange中学到了很多,我一开始对java或android xml一无所知,我几乎有一个完整的应用程序。这将如何为两个不同的变量赋值?这将如何为两个不同的变量赋值?Jon-谢谢你的回答,我是一个真正的java新手(自学),我发现没有“下划线”很难读取变量,但总是愿意学习,所以这次我确实使用了约定,并将迫使自己改变。我正在尝试解析大约十个变量,它们可以显示为英语或公制,然后转换为公制或英语,并知道这两个值。再次感谢,我不久前学习了范围。我如何理解一些java,我应该采取什么样的策略才能更好地理解。我喜欢我了解一些,并且认为我会是一个非常好的学生。Jon-谢谢你的回答,我是一个真正的java新手(自学),我发现没有下划线很难阅读变量,但我总是愿意学习,所以这次我确实使用了约定,并将迫使自己改变。我正在尝试解析大约十个变量,它们可以显示为英语或公制,然后转换为公制或英语,并知道这两个值。再次感谢,我不久前学习了范围。我如何理解一些java,我应该采取什么样的策略才能更好地理解。我喜欢我了解一些,并且认为我会成为一个真正的好学生。