java - 将输入的数字转换为年份

标签 java

我的这个程序的目标是通过输入一个整数来询问用户年份。例如,如果用户输入“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/

相关文章:

java - 如何更新 Jess 规则引擎中的事实?

java - java中与字符串相乘

Java javax.swing.Timer 持续时间

java - "Warning: Do not place Android context classes in static fields; this is a memory leak (and also breaks Instant Run)"

Java 数组建议

java - 每行写入新的 CSV 文件 (JAVA)

java - 是否有可能获得 putextra 的名称/标签?

java - 当展开可展开 ListView 时,也展开布局(在 ScrollView 内)

java - JAVA输入空字符串的方法

java - 跟踪实例属性更改