Java 爪哇测量

Java 爪哇测量,java,measure,cm,Java,Measure,Cm,我想编写一个小程序,用4个测量值的随机数生成一个加法任务,比如45mm+34dm+等等。。。。 第二个功能是:当用户在控制台中输入正确的解决方案(单位:mm)时,程序应打印出:“正确”。但问题在于第二个功能。在我为这个函数编写的if语句中,有些东西不起作用 代码如下: package Uebungen; import java.util.Scanner; import sun.applet.Main; import java.util.Random; public class AvuG {

我想编写一个小程序,用4个测量值的随机数生成一个加法任务,比如45mm+34dm+等等。。。。 第二个功能是:当用户在控制台中输入正确的解决方案(单位:mm)时,程序应打印出:“正确”。但问题在于第二个功能。在我为这个函数编写的if语句中,有些东西不起作用

代码如下:

package Uebungen;
import java.util.Scanner;
import sun.applet.Main;
import java.util.Random;

public class AvuG {

    // Programmstart
    public static void main(String[] args) {
        // Declarationen
        Scanner scn= new Scanner(System.in);
        Random rG = new Random();
        int[] numbers = new int[4];
        int[] measurments = new int[4];

        //Fills Array with four Random numbers for future measurment generation
        for (int i = 0; i < maßEinheiten.length; i++) {
            measurments[i] = rG.nextInt(4);
        }

        // Fills Array with four random numbers
        for (int i = 0; i < numbers.length; i++) {
            numbers[i] = rG.nextInt(99);
        }

        // Prints out 4 numbers with measurments
        for (int i = 0; i < numbers.length; i++) {
            if (i == numbers.length - 1) {
                System.out.print(data[i] + checkInput(measurments[i]));
            } else {
                System.out.print(data[i] + checkInput(measurments[i]) + " + ");
            }
        }

        //Calculates Solution of the calculation in measure mm in the Background for future use. 
        for (int i = 0; i < measurments.length; i++) {
            switch(measurments[i]) {
            case 1:
                result += numbers[i];
                break;
            case 2:
                result += numbers[i] * 10;
                break;
            case 3:
                result += numbers[i] * 1000;
                break;
            case 0:
                result += numbers[i] * 100;
                break;
            }
        }

        // Solution of the calculation, so you dont have to calculate when you want to investigate if its working.
        System.out.println("");
        System.out.println(result + "mm");

        // *** Here lies the Problem. If the Solution is right, it should print out: "Right".
        int nutzereingabe2 = scn.nextInt();
        String nutzerEingabe = scn.next();

        String nutzerEingabe3 = nutzereingabe2 + nutzerEingabe;
        if ( nutzerEingabe3 == (result+"mm")){
            System.out.println(result + "mm");
        }
   }

    // Measurment Generator
    private static String checkInput(int i) {
        String result = "";
        switch (i) {
        case 1:
            result = "mm";
            break;
        case 2:
            result = "cm";
            break;
        case 3:
            result = "m";
            break;
        case 0:
            result = "dm";
            break;
        default:
            result = "Error";
        }

        return result;
    }
}
Uebungen包;
导入java.util.Scanner;
导入sun.applet.Main;
导入java.util.Random;
公共类AvuG{
//程序启动
公共静态void main(字符串[]args){
//声明
扫描仪scn=新扫描仪(System.in);
随机rG=新随机();
int[]数字=新的int[4];
int[]测量值=新的int[4];
//用四个随机数填充数组,以便将来生成测量值
对于(int i=0;i
@Steffan:请在您的帖子中提供更多详细信息:哪个“如果”语句的行为与您的预期不符?运行此程序时使用的是什么输入、期望的是什么输出以及实际得到的是什么输出?在
nutzerEingabe3==(结果+“mm”)
中,您正在按对象标识比较字符串。它应该是
nutzer.equals(result+“mm”)
。请阅读并相应增强您的问题。“有些东西不工作”不是工作问题描述。除了使用
=
而不是
.equals()
这是比较字符串的if语句中的一个主要问题之外,字符串变量result在哪里声明并接收要保存的字符串?它在main()方法的范围内吗?LuCio和DevilsHnd!谢谢你的帮助。确实是这样!!!我的编程知识不是那么渊博。非常感谢你。