Java while循环应该使用什么?
这是到目前为止我的编码-讲师让我创建一个程序,创建三角形并指定它们。以下是清晰的实际说明: *编写一个程序,使用3到13之间的整数值创建随机三角形边集。用户将通过输入一个介于1和10之间的整数值来指定要创建多少个三角形(您可以假设他们将输入一个在此范围内的整数) 对于用户请求的每个三角形,您的程序应:Java while循环应该使用什么?,java,loops,user-interface,netbeans,while-loop,Java,Loops,User Interface,Netbeans,While Loop,这是到目前为止我的编码-讲师让我创建一个程序,创建三角形并指定它们。以下是清晰的实际说明: *编写一个程序,使用3到13之间的整数值创建随机三角形边集。用户将通过输入一个介于1和10之间的整数值来指定要创建多少个三角形(您可以假设他们将输入一个在此范围内的整数) 对于用户请求的每个三角形,您的程序应: 生成一组3到13之间的随机整数 显示3个数字 确定这些数字是否表示有效三角形的边。(例如,5、5和13不创建三角形)。 ---如果数字不代表有效的三角形,则显示相应的错误消息。 ---如果数字有效
// 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) {
}
}
}从你的代码看,<<代码>而Road可能不在正确的位置…忽略<代码>而Road,你的代码只生成一组三个数字并打印它们是否会生成一个三角形,对吗?那么,你在哪里放置<代码>而Road多次进行这个单一动作?如果提供的代码没有太多意义
还有几件事:我不相信你的代码能确定生成的边是否能构成三角形。如果userInteger=userInteger2=5
,和userInteger3=4
,会发生什么?如果你想用用户提供的数字生成许多三角形,你需要某种方法来转换输入的将字符串
转换为整数。为此,请签出integer.parseInt()
方法:
最后,您可能想查看Java教程:
我不相信您的代码在第一次运行时会像预期的那样工作。类中的普通大括号内的代码块称为“初始化块”,并在每次实例化类时在对象创建时运行。您可能想要的是将所有内容放入一个方法中,这样您就可以在命令上运行任意次数的代码。您应该使用有意义的变量名,而不是愚蠢的变量名。这对您来说可能很有趣,但当有人试图读取您的代码并他们不知道为什么你的整数是用水果命名的,这只是浪费了他们的时间。另外,当你从现在起几个月甚至几个星期后回去阅读代码时,你会希望你只是使用有意义的名称。:)你的随机数生成不对……你生成的整数将在3到15之间,包括这一点都不相关,它们只是帮助我更容易地跟踪它们,我将在进入作业之前更改它们。但是谢谢你的建议…抱歉,吹毛求疵,但是你的代码在我看来很不可靠。。。在我看来,您将逻辑放在初始化块中,这可能不会有您想要的行为,特别是如果这是方法的一部分……我认为您误解了大括号的用法。如果希望在循环中执行
statement1
,statement2
等,可以说while(无论什么){statement1;statement2;…}
。如果,则与相同。将第一个花括号放在之前,而或如果有不同的含义,则不起作用。感谢您的回答。是的,它会生成三个数字并打印它们是否会形成三角形。我还没有做程序检查它是钝的,不规则的还是尖锐的,但我也会做。谢谢你的链接,我一定会使用这些。我想你说得对,他,需要改变这一点您可能最好将之外的所有内容粘贴到一个方法中,然后在该方法上循环。对于三角形识别,我更认为您需要测试所有边的组合,以便每边都可以最长,或者,您可以对边进行排序,并将较短的边与较长的边进行比较。