Java 如何将用户输入(int)转换为字符串

Java 如何将用户输入(int)转换为字符串,java,java.util.scanner,Java,Java.util.scanner,我编写这段代码是为了将用户键入的任何整数转换为一周中的某一天。我无法解决我遇到的一些错误,我缺少什么 import java.util.Scanner; class dayofweek2 { public static void main(String[] args) { Scanner daynumber = new Scanner(System.in); String input = Integer.parseInt(daynumb

我编写这段代码是为了将用户键入的任何整数转换为一周中的某一天。我无法解决我遇到的一些错误,我缺少什么

 import java.util.Scanner;
   class dayofweek2 {
       public static void main(String[] args) {
         Scanner daynumber = new Scanner(System.in);

         String input = Integer.parseInt(daynumber);
         System.out.println("Enter a number from 1 to 7");
         if (input == 1 ) {
            System.out.println("monday");
         }
         if (input == 2 ) {
            System.out.println("tuesday");
         }
         if (input == 3 ) {
            System.out.println("wednesday");
         }
         if (input == 4 ) {
            System.out.println("thursday");
         }
         if (input == 5 ) {
            System.out.println("friday");
         }
         if (input == 6 ) {
            System.out.println("saturday");
         }
         if (input == 7 ) {
            System.out.println("sunday");
         }
      }
   }

扫描仪
需要进行一些输入。您可以通过调用
Scanner.nextLine()
或其他
next
方法之一来实现这一点

在您的示例中,您可以这样做:

Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine(); // read a line
int daynumber = Integer.parseInt(input); // parse the line that was entered as an integer

switch(daynumber) {
    // ...
}

代码中有多个分散/过时的分号。我已为您修复了代码:)

提示:您可以使用
switch
语句来简化逻辑并使其更具可读性

   import java.util.Scanner;
   class dayofweek2 {
       public static void main(String[] args) {

         Scanner daynumber = new Scanner(System.in); // Print to screen, querying user
         System.out.println("Enter a number from 1 to 7");
         String j = daynumber.nextLine(); // Per requirements, obtain String
         Integer input = Integer.parseInt(j); // Convert String to Integer

         if (input == 1 ) { // Begin processing of input
            System.out.println("monday");
         }
         if (input == 2 ) {
            System.out.println("tuesday");
         }
         if (input == 3 ) {
            System.out.println("wednesday");
         }
         if (input == 4 ) {
            System.out.println("thursday");
         }
         if (input == 5 ) {
            System.out.println("friday");
         }
         if (input == 6 ) {
            System.out.println("saturday");
         }
         if (input == 7 ) {
            System.out.println("sunday");
         }
      }
   }
之后

System.out.println(“输入1到7之间的数字”)

逻辑是grep用户输入的数字并将其存储在变量中

int tmp=daynumber.nextInt()


然后继续使用if或Switch语句

您有许多不幸的分号。他们终止您的
(如果
身体)。另外,我将使用
Scanner\nextInt()
Scanner
的不同变量名。接下来,在尝试读取
输入之前显示提示。而且,如果使用数组,我将消除所有这些
。大概

Scanner scan = new Scanner(System.in);
System.out.println("Enter a number from 1 to 7");
int input = scan.nextInt();
String[] days = { "monday", "tuesday", "wednesday", "thursday",
        "friday", "saturday", "sunday" };
if (input >= 1 && input <= 7) {
    System.out.println(days[input - 1]);
}
Scanner scan=新的扫描仪(System.in);
System.out.println(“输入1到7之间的数字”);
int input=scan.nextInt();
字符串[]天={“星期一”、“星期二”、“星期三”、“星期四”,
“星期五”、“星期六”、“星期日”};

if(输入>=1&&input
if(输入==1);
如果
是小写,不应该有分号DayNumber也没有数字。你不能解析它。
整数。parseInt
不接受扫描对象我注意到,我将if改为小写,仍然收到错误show我能让它工作吗?如果有办法让它工作,我用switch statem写了一个ent但是代码中有一些错误被修复了,没有注意到您使用的扫描器不正确。首先获取输入,然后告诉用户“输入一个数字”?还有,当扫描器将为您执行此操作时,为什么还要经历将字符串转换为Int的麻烦呢you@ScaryWombat修正了,是的,我也觉得很傻,但也许他的“要求”或者作业单希望如此谢谢大家,经过很多努力,我已经能够完成程序并使其运行,我将在稍后发布完整的程序以供更多审查……再次感谢大家