如何让java读取用户的文本字段并根据用户给出另一个变量?

如何让java读取用户的文本字段并根据用户给出另一个变量?,java,Java,我有一个文本字段,用户只能在其中键入数字,还有一个标签,根据文本字段中键入的数字显示价格 我需要Java能够读取输入到文本字段中的数字,Java内部将根据用户提供的输入提供另一个变量 它就像一个范围刻度,可以读取输入的值,并根据范围自动给出指定的值 String tourist = touristnumf.getText(); if(touristnumf.getText() > =10) { boolean tourbetweenonetoten

我有一个文本字段,用户只能在其中键入数字,还有一个标签,根据文本字段中键入的数字显示价格

我需要Java能够读取输入到文本字段中的数字,Java内部将根据用户提供的输入提供另一个变量

它就像一个范围刻度,可以读取输入的值,并根据范围自动给出指定的值

 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
  }
}