If statement 调用包含if/else的方法

If statement 调用包含if/else的方法,if-statement,methods,user-input,java.util.scanner,If Statement,Methods,User Input,Java.util.scanner,这是一个相当基本的问题,但作为一名Java新手,这让我感到困惑。这是我正在研究的一个实践问题,我不知道如何将hotOrColdOutside方法调用到main中。到目前为止,它还没有编译并请求返回,但我的说明指定在这个实例中没有参数或返回。我觉得这是一件简单的事情,我知道,但正在我的头上的时刻,任何帮助纠正这将不胜感激 import java.util.Scanner; class TempExp { public static void main(String[] args) {

这是一个相当基本的问题,但作为一名Java新手,这让我感到困惑。这是我正在研究的一个实践问题,我不知道如何将hotOrColdOutside方法调用到main中。到目前为止,它还没有编译并请求返回,但我的说明指定在这个实例中没有参数或返回。我觉得这是一件简单的事情,我知道,但正在我的头上的时刻,任何帮助纠正这将不胜感激

import java.util.Scanner;

class TempExp
{
   public static void main(String[] args)
   {
       Scanner input = new Scanner(System.in);
       String answer = outsideTemp();
       System.out.print(answer);
   }//end main
   public static String outsideTemp()
   {
       Scanner input = new Scanner(System.in);
       System.out.print("What is the temperature outside: ");
       int userIn = input.nextInt();
       if(userIn >= 80)
       {
          System.out.print("It is very hot outside.");
       }
       else if(userIn >= 60)
       {
          System.out.print("It is very nice outside.");
       }
       else
       {
          System.out.print("It is very cold outside.");
       }//end if/else           
    }//end method   
}  
功能

public static String outsideTemp()
返回一个
字符串
。不过,main函数不返回任何内容

你会想要这样的东西:

import java.util.Scanner;

class TempExp
{
   public static void main(String[] args)
   {
       Scanner input = new Scanner(System.in);
       String answer = outsideTemp();
       System.out.print(answer);
   }//end main

   public static String outsideTemp()
   {
       Scanner input = new Scanner(System.in);
       System.out.print("What is the temperature outside: ");
       int userIn = input.nextInt();
       if(userIn >= 80)
       {
          return "It is very hot outside.";
       }
       else if(userIn >= 60)
       {
          return "It is very nice outside.";
       }
       else
       {
          return "It is very cold outside.";
       }//end if/else           
    }//end method   
}  

因为你说的是你的指令(我猜你指的是赋值?),如果没有参数或返回,你需要将
outsideTemp()
函数定义的
String
部分替换为
void
。因为它不会返回任何内容,所以您的
main
函数也需要更改为不希望返回任何内容

public static void main(String[] args)
{
    outsideTemp();
}//end main

public static void outsideTemp()
{
    ... // this all stays exactly how it is now
}
但是,如果您确实想返回字符串,请使用John的答案