我试图基于这些参数编写一个程序:
创建一个名为RandomArray的程序,该程序将生成一个名为numArray的数组,该数组包含10个大于1且小于或等于100的随机整数。程序应该要求用户输入一个大于0小于100的整数。然后程序应该显示数组中大于用户输入的数字的所有数字。
下面是我的代码:
public class RandomArray
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
SecureRandom ranNumber = new SecureRandom();
int NumArray[] = new int[10];
int userNum;
int choice;
int num = 0;
{
num = 1+ ranNumber.nextInt(100);
displayGreaterThan (num);
}
}//end of main
public static void displayGreaterThan(int num)
{
int userNum ;
int numArray[] = new int[10];
Scanner input = new Scanner(System.in);
System.out.println("Please enter a number 1 to 100");
userNum = input.nextInt();
while ( userNum < 1 || userNum > 100)
{
System.out.println("error please try again.");
System.out.println("Please enter a number 1 to 100");
userNum = input.nextInt();
}
for (int counter = 1; counter <= numArray.length; counter++)
{
SecureRandom ranNumber = new SecureRandom();
num = 1+ ranNumber.nextInt(100);
if (num > userNum)
{ numArray[1]++;
System.out.println( + userNum + " is your random number");
}
else
{
counter++;
}
}
}
}
我做错了什么,因为这不应该这么难。
我建议将它分解得更多一点,以使每个过程更加简单。您声明了扫描仪两次,一次在主要,这是不必要的。displaygreaterthan
过程有很多事情要做,我认为这就是导致一些问题的原因。并不是说这是完美的,但它可以与简化您正在尝试做的事情进行比较。
public class RandomArray
{
public static void main(String[] args)
{
int[] intNumArray = new int[11];
int intUserNumber = 0;
// Get random numbers
intNumArray = GenerateRandomNumbers();
// Get user initial user input
intUserNumber = GetUserInput(intUserNumber);
// Validate and recursively call procedure if invalid
if(intUserNumber < 1 || intUserNumber > 100)
{
// Get user input again if invalid
intUserNumber = GetUserInput(intUserNumber);
}
// Display results
DisplayGreaterThan(intUserNumber, intNumArray);
// Print array for double checking
PrintArray(intNumArray);
}
public static int[] GenerateRandomNumbers()
{
SecureRandom ranNumber = new SecureRandom();
int[] intNumArray = new int[11];
for(int intCounter = 0; intCounter < 11; intCounter++)
{
intNumArray[intCounter] = ranNumber.nextInt(100);
}
return intNumArray;
}
public static int GetUserInput(int intUserNumber)
{
Scanner clsScanner = new Scanner(System.in);
System.out.println("Please enter a number between 1 and 100");
intUserNumber = clsScanner.nextInt();
return intUserNumber;
}
public static void DisplayGreaterThan(int intUserNumber, int[] intNumArray)
{
System.out.println("The array values greater than " + intUserNumber + ":");
for(int intCounter = 0; intCounter < 11; intCounter++)
{
if(intNumArray[intCounter] > intUserNumber)
{
System.out.println("#" + intCounter + " = " + intNumArray[intCounter]);
}
}
}
public static void PrintArray(int[] intNumArray)
{
System.out.println("The random array values:");
for(int intCounter = 0; intCounter < 11; intCounter++)
{
System.out.println("#" + intCounter + " = " + intNumArray[intCounter]);
}
}
}
问题内容: 我有一个外部程序Otter,该程序将一些文件名作为参数并创建了一个输出文件,也将其指定为参数。因此,例如,如果我的输入是“ proof.in”,并且我希望将输出放置在“ proof.out”文件中,则可以在终端中运行以下命令: “ proof.in”文件必须与水獭可执行文件位于同一文件中。 问题是我需要Java提供此功能,因此在我的Java代码中执行以下操作: 但是在此行之后,整个用户
新的Google chrome更新会在浏览器中出现这样的信息:“您正在使用不受支持的命令行标志:--Ignore-Certifice-Errors。稳定性和安全性将受到影响。” 根据我在selenium bug报告中读到的内容,临时解决方案是启动webdriver
具有以下邮件配置设置: 以及以下属性: 我得到以下错误: JAVAlang.RuntimeException:javax。邮政MessaginException:无法连接到SMTP主机:SMTP。我们德勤。com,端口:25;嵌套的例外是:java。网SocketException:权限被拒绝: 当我使用gmail作为“发件人”帐户和“收件人”中的Outlook帐户时,代码是一样的。 我试着设置s
当我通过命令行运行spring boot应用程序时,我面临的问题是 这很好,但在intellij中作为应用程序运行时,我发现以下错误- 可能的原因是什么,我应该在哪里查看配置修复? 关于这个模式还有其他问题,但没有一个提到这个错误- SpringBoot应用程序通过Maven运行良好,但不能通过IDEIntellijIDEA运行 ApplicationContextException:由于缺少Se
我在Windows Server 2016上,尝试通过Windows任务调度器运行Java应用程序。我可以在cmd中执行Java应用程序。 这将执行程序并关闭java。exe之后。 如果我试着在任务调度器上运行它,它不会关闭java。exe之后。一段时间后,这会导致服务器上没有足够的内存来处理其预期用途。 我尝试将其直接添加到任务计划程序,并通过批处理,它不会在之后终止java.exe。 我的Ja
问题内容: 新的Google chrome更新导致浏览器中出现此消息:“您使用的是不受支持的命令行标志:-ignore-certificate- errors。稳定性和安全性将受到损害。” 根据我对selenium错误报告的了解,临时解决方案是使用 创建驱动程序时,我已经在传递DesiredCapabilities了。如何将ChromeOptions和DesiredCapabilities都传递给