我目前有一个函数可以读取一个整数,并检查错误(太大太小或不是整数。
int be_egesz(string question, int minval, int maxval, string error_message)
{
bool error;
string tmp;
int number;
do
{
cout << question << endl;
cin >> szam;
error=cin.fail() || cin.peek()!='\n' || (number<minval || number>maxval);
if (error)
{
cout << error_message << endl;
}
cin.clear();
getline(cin,tmp,'\n');
}while(error);
return number;
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能转换这个函数,以便它可以在一行中读取超过 1 个整数?
输入示例:1 2
或者也许我怎样才能在一行中使用这个函数两次
我下载了 Pixel 模拟器和 Android API 25,但运行时它会出现几秒钟然后消失
在事件日志中,显示的是这样的内容
我需要帮助,请
我的列表中有以下数据:
List<FeatureAnalyzeDTOResult> list = new ArrayList<>();
list.add(new FeatureAnalyzeDTOResult("october", 46));
list.add(new FeatureAnalyzeDTOResult("april", 46));
list.add(new FeatureAnalyzeDTOResult("march", 46));
list.add(new FeatureAnalyzeDTOResult("november", 30));
list.add(new FeatureAnalyzeDTOResult("may", 46));
list.add(new FeatureAnalyzeDTOResult("january", 53));
list.add(new FeatureAnalyzeDTOResult("december", 30));
Run Code Online (Sandbox Code Playgroud)
我想做什么?
我正在尝试按顺序对这些数据进行排序,以便数据按月份排序,并且月份应从当前月份开始并计算前六个月。
例如:
目前是五月,数据应按以下顺序排序:
[MAY, APRIL, MARCH, FEBRUARY, JANUARY, DECEMBER]
Run Code Online (Sandbox Code Playgroud)
如果缺少任何月份,它应该简单地跳过它并转到下个月并完成计数。
到目前为止我已经尝试过什么?
我尝试使用以下代码来获取当月和前六个月:
YearMonth thisMonth = YearMonth.now();
String[] month = new String[6];
for (int i = 0; i < 6; i++) {
YearMonth lastMonth = thisMonth.minusMonths(i);
DateTimeFormatter monthYearFormatter = DateTimeFormatter.ofPattern("MMMM");
month[i] = lastMonth.format(monthYearFormatter);
month[i] = month[i].toUpperCase();
}
List<String> monthList = Arrays.asList(month);
System.out.println(monthList); …
Run Code Online (Sandbox Code Playgroud)