我需要根据下面的说明制定一个方法。提示是“您想要多宽?”。用户输入输入,如果不是3到20之间的整数,则会弹出错误消息“预期为3到20之间的数字”。用户应该继续输入,直到给出有效答案,然后该值应该返回到main。
此方法提示用户输入一个数字,在返回该数字之前,验证该数字介于最小和最大之间。
如果输入的数字不在最小值和最大值之间,则会向用户显示一条错误消息,并给用户另一个输入数字的机会。如果最小值为1,最大值为5,则错误消息为:“应为1到5之间的数字。”
如果用户输入字符、单词或除有效整数以外的任何内容,则会向用户显示相同的消息。输入有效整数以外的字符时,会使用Scanner的方法(hasnetint)进行检测,并且不会使用异常处理。
此方法中不要使用常量,所有比较和消息只使用传入的最小和最大参数。不要在此方法中创建Scanner的实例,将对main中Scanner的引用传递给此方法。整个提示都应该传入并打印出来。
/**
*@param in The reference to the instance of Scanner created in main.
*@param prompt The text prompt that is shown once to the user.
*@param min The minimum value that the user must enter.
*@param max The maximum value that the user must enter.
*@return The integer that the user entered that is between min and max, inclusive.
*/
public static int promptUser(Scanner in, String prompt, int min, int max) {
}
为了简单起见,我使用EasyReader而不是scanner。但这里有一些你可能想使用的概念(这看起来像是某种赋值)。
首先,我只是做了一个简单的阅读工具,可以阅读ints。
在pvsm中,我做了两个占用用户输入的输入。您可能还需要考虑制作排序数组,这样用户就不需要找到最低值。
布尔值是...
public static int promptUser(EasyReader in, int min, int max){
while(true){
//idk what prompt is but ere u go.
System.out.print("Enter a num between "+min+" and "+max+" ");
in = new EasyReader();
int take = in.readInt();
if(take == min || take == max){
System.out.print(take);
return take;
}
else if(take >= min && take <= max){
System.out.print(take);
return take;
}
else{
System.out.print("Error ... bannanas! ");
}
}
我没有试过,但应该是:
public static int promptUser(Scanner in, String prompt, int min, int max)
{
System.out.println(prompt);
while (true)
{
try
{
String val = in.next();
int value = Integer.parseInt(val);
if (min > value || max < value)
throw new Exception();
else
return value;
}
catch (Exception e)
{
System.out.println("Expected a number between " + min + " and " + max);
}
}
}
我想为一些地图实现编写一个基准测试,包括一个自定义实现。我想测试它在广泛的输入范围内的平均行为。 因为这是我第一次使用JMH,所以使用@Param看起来是显而易见的选择。但事实证明,JMH不会在一个基准测试中使用所有这些不同的输入,而是会为每一组参数运行单独的基准测试。 是否有一些我缺少的功能,或者只是在我的基准测试中循环输入的范围,这是正确的做法? 更新: 我实现了2个不同的基准,给出了完全相反
尝试从云服务Web角色中运行的Azure存储帐户读取 我找到的所有关于这个主题的文章都表明,问题在于存储连接字符串或blob容器名称中的大写字母。 以下是代码: 异常被抛出blobContainer。设置权限。 当使用相同的代码和相同的凭证从计算仿真器(而不是从实时Web角色)访问相同的容器时,一切正常。我从Neudesic的Azure存储资源管理器中读取blob容器没有问题。 可能相关:我的本地
以下代码根据变量所处的范围,为变量指定特定值。 这工作得很好,但是我想知道是否有一种更Pythonic的方法来编写下面的条件块。
我正在尝试编写一个素数筛生成器,我将其转换为打印列表,然后在给定范围内打印素数。我很确定我的配对数是正确的,但出于某种原因,我在素数列表中得到了一些非素数的额外值。(我马上发现了这一点,因为我在输出中的最后一个值是3599,这不是素数)。我不确定我是否有某种逻辑错误,所以任何帮助都很棒。
我正在阅读格式的JSON: 我将“student”存储到一个字符串中,并将每个学生的详细信息——“roll,name,subjects”存储到POJO中。 > ObjectMapper mapper=new ObjectMapper(); Map 返回某个学生的所有主修和辅修课程的最佳方式是什么?我应该做一个hashmap还是列表?或者还有别的办法吗?