首先,我是一个全新的Java新手,我知道这对你们中的大多数人来说可能真的很容易。但现在我坚持做一个练习。我几乎疯狂地在谷歌上搜索,但我找不到任何关于这个特定问题的有用提示。否则我真的不知道该搜索什么。
我有一段代码,看起来像这样:
导入java.util.Scanner;
公开课周{
公共静态空主要(String[] args) {扫描器输入=新扫描器(System.in);
System.out.println("Type a number: ");
int day = input.nextInt();
if (day == 1) {
System.out.println("Monday ");
}
if (day == 2) {
System.out.println("Tuesday ");
}
if (day == 3) {
System.out.println("Wednesday ");
}
if (day == 4) {
System.out.println("Thursday ");
}
if (day == 5) {
System.out.println("Friday ");
}
if (day == 6) {
System.out.println("Saturday ");
}
if (day == 7) {
System.out.println("Sunday");
}}}
正如你所看到的,这个程序会提示用户输入一个数字,如果这个数字在1-7之间,程序会用相应的星期几来回答。然而,我现在想要做的是修改代码,以启动计数器或循环或其他什么。我想让它从我的输入数字到指定的中断数+1。假设我输入2,程序将打印:星期二,星期三,星期四,星期五,然后停止。
我只尝试过while,if等语句,但我知道关键就在某个地方。在尝试的过程中,我只成功地让程序打印2五次,或者让我输入无穷大的数字。
任何帮助都将不胜感激!
发布于 2020-10-22 04:25:00
既然你目前正在学习,我将给你一些线索来照亮你要遵循的道路,而不是给出答案。
首先,要解决一个问题,你必须清楚地定义它是什么。我们将假设低于1或大于7的数字不在作用域内。我知道您需要输入两个数字:开始日期和结束日期。您已经知道如何存储第一个数据。第二个是相同的过程。但这其中有一个问题。Scanner.nextInt()使用在控制台中输入的数字,而不是您用来验证值的数字。您必须找到如何在两个nextInt()调用之间使用它。
然后循环。循环应为:
更进一步:
我建议你注意切换情况,以避免链式if语句,这些语句对一个variable
发布于 2020-10-22 04:19:46
public class Week {
public static void main(String[] args) { Scanner input = new Scanner(System.in);
System.out.println("Type a number: ");
int day = input.nextInt();
System.out.println("Type a stop number: ");
int stopDay = input.nextInt();
for (int i = day; i <= stopDay; i++) { // if the stopday should be printed, then use '<=', '<' otherwise
printWeekDay(i);
}
}
private static void printWeekDay(int day) {
if (day == 1) {
System.out.println("Monday ");
}
if (day == 2) {
System.out.println("Tuesday ");
}
if (day == 3) {
System.out.println("Wednesday ");
}
if (day == 4) {
System.out.println("Thursday ");
}
if (day == 5) {
System.out.println("Friday ");
}
if (day == 6) {
System.out.println("Saturday ");
}
if (day == 7) {
System.out.println("Sunday");
}
}
}发布于 2020-10-22 05:29:16
您只需创建一个DAYS[]数组,并从该特定索引开始向末尾迭代该数组即可。
String DAYS[] = {"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
System.out.println("Type a number: ");
int day = input.nextInt();
if(day >= 1 && day <= 7) {
for(int i = day - 1; i < DAYS.length; i++) {
System.out.println(DAYS[i]);
}
}
else
System.out.println("Enter a valid number");如果您想要通过获取停止索引来停止,逻辑将是相同的。只需将for循环中的DAYS.length替换为所需的stop index
https://stackoverflow.com/questions/64471001
复制相似问题