我应该为while循环使用什么?

时间:2014-04-29 16:41:31

标签: java loops user-interface netbeans while-loop

这是我到目前为止的编码 - 教师让我创建一个创建三角形并指定它们的程序。这是明确的实际说明:

*编写一个程序,使用3到13之间的整数值创建随机三角形边集。用户将通过输入介于1和10之间的整数值来指定他们想要创建多少个三角形(您可以假设它们将进入此范围内的整数)。

对于用户请求的每个三角形,您的程序应该:

  1. 生成一组3到13之间的3个随机整数。

  2. 显示3个数字

  3. 确定数字是否代表有效三角形的边。 (例如,5,5和13不会创建三角形)。 ---如果数字不代表有效三角形,则显示相应的错误消息。 ---如果数字有效,程序应确定并显示 a)三角形的侧面分类 - 等边,等腰或斜角,和 b)三角形的角度分类 - 右,锐或钝*

    //我需要弄清楚在while循环中使用什么。我还没有编写所有的编码,但是有一个空的while循环(我试图用来计算userInput x apple和orange(是的,我确实用水果作为整数)

    //在这里编写所有编码:

    // Declaring maximum and minimum values for user input:
    int maxValue = 13;
    int minValue = 3;
    
    userInteger = (int) (maxValue * Math.random()) + minValue;
    userInteger2 = (int) (maxValue * Math.random()) + minValue;
    userInteger3 = (int) (maxValue * Math.random()) + minValue;
    
    String banana = (userInput.getText());
    {
        while()
            outcomeLabel.setText("Your numbers are: " + userInteger + ", " + userInteger2 + " and " + userInteger3 + "." +
                    "\n" + "The number of triangles requested is" + banana + "so the result is");
    }
    
    int apple = (userInteger + userInteger2);
    int orange = (userInteger3);
    {
        if (apple == orange)
            outcomeLabel.setText("Your numbers are: " + userInteger + ", " + userInteger2 + " and " + userInteger3 + "." +
                    "\n" + "The number of triangles requested is" + banana + "\n" + "The numbers make a triangle.");
        else
            outcomeLabel.setText("Your numbers are: " + userInteger + ", " + userInteger2 + " and " + userInteger3 + "." +
                    "\n" + "The number of triangles requested is" + banana + "\n" + "The numbers do not make a triangle - try again.");
    }
    
    {
        if(userInteger == userInteger2 && userInteger == userInteger3)
            outcomeLabel.setText("Your numbers are: " + userInteger + ", " + userInteger2 + " and " + userInteger3 + "." +
                    "\n" + "The number of triangles requested is" + banana + "\n" + "The numbers make a triangle." + "\n" + "This triangle is an equilateral triangle.");
    }
    {
        if (userInteger == userInteger2) {
    
        }
    
    }
    

    }

1 个答案:

答案 0 :(得分:0)

从代码的外观来看,while循环可能不在正确的位置...忽略while循环,您的代码只会生成一组三个数字并打印出来会做一个三角形,对吗?那么你会把while循环放在哪里多次执行这个单一动作?在提供的代码中间并没有太多意义......

其他一些事情:我不相信你的代码来确定生成的边是否可以使三角形有效。如果userInteger = userInteger2 = 5userInteger3 = 4会怎样?如果您想使用用户提供的数字生成多个三角形,则需要某种方法将输入的String转换为整数。为此,请检查Integer.parseInt()方法:http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt(java.lang.String)

最后,您可能想查看Java教程:http://docs.oracle.com/javase/tutorial/java/index.html

我不相信您的代码在首次运行时会按预期工作。类中普通大括号内的代码块被称为"初始化块",并且每次实例化类时都会在创建对象时运行。您可能想要的是将所有内容放入一个方法中,这样您就可以根据需要多次运行代码。