public List<ExchangeRate> getExchangeRate(@RequestBody @Validated ExchangeRateRequest exchangeRateRequest) {
LocalDateTime conversionDateTime = parseConversionDateTime(exchangeRateRequest.getConversionDateTime());
List<ExchangeRate> exchangeRateList = service.getExchangeRates(exchangeRateRequest, conversionDateTime);
return exchangeRateList;
}
private LocalDate getPreviousBusinessDate(LocalDateTime conversionDateTime) {
ZonedDateTime localConversionDateTimeWithZone = ZonedDateTime.of(conversionDateTime, ZoneOffset.systemDefault());
ZonedDateTime conversionDateTimeAtUtc = localConversionDateTimeWithZone.withZoneSameInstant(ZoneOffset.UTC);
LocalDate currentUtcDate = conversionDateTimeAtUtc.toLocalDate();
LocalDate prev = currentUtcDate.minusDays(1);
while(prev.getDayOfWeek()==DayOfWeek.SUNDAY || prev.getDayOfWeek()==DayOfWeek.SATURDAY) {
prev = prev.minusDays(1);
}
return prev;
}
public class ExchangeRateRequest {
private final String conversionDateTime;
@Valid
private final List<ExchangeRateCurrency> currencies;
@JsonCreator
public ExchangeRateRequest(@JsonProperty("conversionDateTime") String conversionDateTime,
@JsonProperty("currencies") List<ExchangeRateCurrency> currencies) {
this.conversionDateTime = conversionDateTime;
this.currencies = currencies;
}
}
元素exchangeRateRequest在代码中流动,没有经过验证,最终在ExchangeRateService的getPreviousBusinessDate中的循环条件中使用。JAVA这构成循环条件的未检查输入。
我该怎么解决这个问题?
我认为这个案例是假阳性的,你没有什么可做的(除了要求你的Checkmark所有者忽略这个结果。
循环条件的未检查输入意味着循环可能会意外运行,因为该条件未被清除。
例如,如果您在循环中进行了硬计算,并且例如您希望从用户那里获得一周中的一天,以便在一周中的下一个Rest日运行您的计算,那么用户可以给您数字8,并且您将获得无限循环。
在你的例子中,循环条件不是一个范围,但它只是检查特定的状态,如果它不在这个状态,代码将继续。
我看不出会发生什么坏事。
我得到未经检查的输入循环条件在下面的行在我的代码。 我提供了下面的解决方案,但检查马克斯扫描仍然显示相同的错误。 我也使用了getValidinteger()方法,但这两种方法似乎都没有解决这个问题。 这是循环--
我有一个类,其中我们将“两个时态对象之间的时间量”存储到一个长变量monthBt中,并将其用作“for循环”中的测试表达式。然而,我在azure sechub中收到中级安全警告“未检查循环条件的输入”。 验证和删除警告的最佳方法是什么?谢谢
我正在编写一个python游戏,它有以下功能可以向用户询问。 最多可以有4名玩家(最少1名玩家,最多4名玩家) 它会问玩家的名字。如果名称已存在,程序将提示“名称已在列表中”,并要求再次输入名称 如果播放器在播放器名称输入中输入空字符串,它将退出。 它会询问玩家想要玩多少n个随机数字(使用randint(开始,停止)。最多只允许3位数字 我知道我必须使用
问题内容: 我需要让用户输入一个数字以用作范围的开始,然后输入另一个数字作为范围的结束。起始编号必须为0或更大,结束编号不能大于1000。两个数字都必须被10整除。我找到了满足这些条件的方法,但是如果不满足这些条件,我的程序只会告诉用户他们的输入不正确。我是否可以对它进行编码,以便在用户输入后进行检查以确保满足条件,如果条件没有环回,请再次输入。这是我到目前为止的代码。 问题答案: 轻松做:
我需要要求用户输入一个数字作为范围的开始,然后输入另一个数字作为范围的结束。开始数必须大于等于0,结束数不能大于1000。两个数字都必须能被10整除。我已经找到了满足这些条件的方法,但是如果不满足这些条件,我的程序只会告诉用户他们的输入不正确。我是否可以对其进行编码,以便在用户输入后,它将检查以确保满足条件,如果不满足条件,则返回并再次输入。这是我目前掌握的代码。
编辑:重新措辞 我有一个账户列表:帐户 当我总结这份清单时,我得到了账户数量和账户总价值的概述 名称摘要 我添加了马克,因为他现在将是一个帐户所有者,但他目前没有任何帐户。 第一步是查看每个人应该拥有的账户的平均数。有25个账户,5个所有者,所以每个人都应该有5个账户。总价值为15600英镑,共有5名所有者,因此每个人的账户价值应该在3120英镑左右。这是一个估计值,所以我对它稍微偏离一点没意见。