我的这个程序的目标是通过输入一个整数来询问用户年份。例如,如果用户输入“05”或“87”或“2017”,则输出将为“2005”或“2087”或只是“2017”。该程序仅意味着在输入中占 2 个和 4 个空格。例如,如果用户输入“123”,则输出将是“123 是无效年份”,或者“12345”,输出将是“12345 不是年份。我的代码中的情况遇到问题,并且不知道如何纠正它。
import java.util.Scanner;
public class Y2k
{
public static void main( String [ ] args )
{
Scanner scan = new Scanner ( System.in );
// establish string and number to be apply to input
String year;
int sand = 20;
// ask for the year
System.out.println( "Enter a year: " );
year = scan.next( );
char ohTwo = year.charAt( 1 );
// perform the year and print the result
switch ( year )
{
case "05":
System.out.println( sand + year ); //output year and input
break;
}
}
}
如需任何有关此事的帮助,请提前致谢。
最佳答案
如果你想使用 switch,请执行此操作而不是 if else 语句:
switch(year.length()){
case 2:
System.out.println(sand + year);
break;
case 4:
System.out.println(year);
break;
default:
System.out.println(year+" is an invalid year.");
break;
}
关于java - 将输入的数字转换为年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48695821/