我需要帮助在完成后打印此循环的信息。
for (int i = 1; i <= activityCount; i++) {
int[] intActivites = new int[activityCount];
int arrayLength = intActivites.length;
System.out.println("Select time for activity #" + i);
System.out.println("Write name for activity #" + i);
int activityTime = sc.nextInt();
addTime = sc.nextLine();
if (addTime.equals(addTime)) {
String timeActivity = sc.nextLine();
String all = timeActivity + " @ " + activityTime + ":00";
System.out.println(all);
}
}
我需要帮助将 Activity 和 Activity 时间设置为名为 Schedule 的字符串
最佳答案
假设我们忽略了这个循环的逻辑。如果您需要的只是在循环退出时将循环中的所有事件记录在一条日志消息中,则:
- 您可以将事件消息附加到循环之前初始化的 StringBuffer 中,并在循环之后打印 StringBuffer。该字符串缓冲区可以设为
final
以避免循环重新初始化它 - 您还可以考虑使用 log4J、SLF4J 或 Logback 等日志记录框架将这些事件记录到文件/控制台
查看代码片段中的逻辑,我假设您希望用户输入他们想要在给定时间内执行的 Activity (由整数输入表示)。最后,您需要打印出用户输入的整个计划。
使用该 View ,这不仅仅是一条日志消息,这实际上是您想要向程序用户显示或将其保留在数据存储中的摘要。您可以使用上面提到的方法#1。
希望这有帮助:)
编辑:在此处添加源代码
import java.util.*;
class Main {
Map<Integer, String> timeSlots;
public static void main(String[] args) {
Main app = new Main();
app.startApp(4);
}
public void startApp(int numberOfActivities) {
timeSlots = new HashMap();
try (Scanner sc = new Scanner(System.in)) {
for (int i = 1; i <= numberOfActivities; i++) {
Integer activityTime = getActivityTime(i, sc);
if (isTimeSlotAvailable(activityTime)) {
timeSlots.put(activityTime, getActivityName(i, sc));
} else {
System.out.println("Time slot [" + activityTime + "] is already used.");
}
}
}
printTimeSlots();
}
private void printTimeSlots() {
timeSlots.keySet().forEach(activityTime -> printTimeSlot(activityTime, timeSlots.get(activityTime)));
}
private void printTimeSlot(Integer time, String activity) {
System.out.println(activity + " @ " + time + ":00");
}
private boolean isTimeSlotAvailable(Integer activityTime) {
return (timeSlots.get(activityTime) == null);
}
private Integer getActivityTime(int i, Scanner sc) {
System.out.println("Enter time for activity #" + i);
return Integer.parseInt(sc.nextLine());
}
private String getActivityName(int i, Scanner sc) {
System.out.println("Enter name of activity #" + i);
return sc.nextLine();
}
}
关于java - 打印循环信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61811049/