如何让java读取用户的文本字段并根据用户给出另一个变量?
我有一个文本字段,用户只能在其中键入数字,还有一个标签,根据文本字段中键入的数字显示价格 我需要Java能够读取输入到文本字段中的数字,Java内部将根据用户提供的输入提供另一个变量 它就像一个范围刻度,可以读取输入的值,并根据范围自动给出指定的值如何让java读取用户的文本字段并根据用户给出另一个变量?,java,Java,我有一个文本字段,用户只能在其中键入数字,还有一个标签,根据文本字段中键入的数字显示价格 我需要Java能够读取输入到文本字段中的数字,Java内部将根据用户提供的输入提供另一个变量 它就像一个范围刻度,可以读取输入的值,并根据范围自动给出指定的值 String tourist = touristnumf.getText(); if(touristnumf.getText() > =10) { boolean tourbetweenonetoten
String tourist = touristnumf.getText();
if(touristnumf.getText() > =10)
{
boolean tourbetweenonetoten = true;
}
读取数字userInput并提供映射的变量值:
import java.util.Map;
import java.util.HashMap;
public class StackOverflowTest {
public static void main(String args[]){
Map<Integer,Integer> translateMap = new HashMap<>();
translateMap.put(1,11);
translateMap.put(2,23);
translateMap.put(3,14);
Integer userInput = 2;
System.out.println("translated " + userInput
+ " into " + translateMap.get(userInput));
// prints:
// translated 2 into 23
}
}
两者结合的示例:
import java.util.Map;
import java.util.HashMap;
public class StackOverflowTest {
public static void main(String args[]){
Map<Integer,Integer> translateMap = new HashMap<>();
translateMap.put(0,250);
translateMap.put(1,50);
translateMap.put(2,100);
translateMap.put(3,5);
String userInput = "19";
// Converting a string into an Integer
Integer input = Integer.parseInt(userInput);
Integer translated;
// works to replace below if statement only
// because ranges happens to be devided into 10's
translated = translateMap.get(input/10); // automatic flooring of float to int.
/*
if (input > 20) {
translated = translateMap.get(2);
} else if (input > 10) {
translated = translateMap.get(1);
} else if (input > 0) {
translated = translateMap.get(0);
} else {
translated = 10000; // exception handling
}
*/
System.out.println("translated " + userInput
+ " into " + translated);
// prints:
// translated 19 into 50
}
}
这个数字是基于一个像1-10这样的范围来给出另一个变量的。1-25非常糟糕25-像读速器一样糟糕?我没有完全理解你的问题,但我想你想返回TourbetweeneTooten?抱歉,我没有更好的解释方法,但我希望系统能够理解输入的值,并根据输入给出读数。比如我在textfield中输入了10,它会给我一个回复,因为用户输入10,这需要56美元。我建议编辑您的问题,添加一些代码片段,例如,显示touristnumf的类类型和一个显示您想要的确切输出的示例。范围有1-10非常糟糕,然后是11-25糟糕。它就像一个范围刻度。@user2963724为范围添加了一个解决方案。谢谢你!在应用之前,我将尝试找出如何将字符串转换为整数。@user2963724添加了另一个示例以及如何将字符串转换为整数。
import java.util.Map;
import java.util.HashMap;
public class StackOverflowTest {
public static void main(String args[]){
Map<Integer,Integer> translateMap = new HashMap<>();
translateMap.put(0,250);
translateMap.put(1,50);
translateMap.put(2,100);
translateMap.put(3,5);
String userInput = "19";
// Converting a string into an Integer
Integer input = Integer.parseInt(userInput);
Integer translated;
// works to replace below if statement only
// because ranges happens to be devided into 10's
translated = translateMap.get(input/10); // automatic flooring of float to int.
/*
if (input > 20) {
translated = translateMap.get(2);
} else if (input > 10) {
translated = translateMap.get(1);
} else if (input > 0) {
translated = translateMap.get(0);
} else {
translated = 10000; // exception handling
}
*/
System.out.println("translated " + userInput
+ " into " + translated);
// prints:
// translated 19 into 50
}
}