2013-10-03 30 views
0

这是一个相当基本的问题,但作为一个新的Java学生它难倒我。这是我正在研究的一个实践问题,无法弄清楚如何将hotOrColdOutside方法调用到main中。截至目前,它不是编译和要求返回,但我的指令指定在这种情况下没有参数或返回。我觉得这是我知道的简单事情,但此时此刻正在探索我的头脑,任何帮助我纠正这一情况都将值得赞赏。调用方法,其中包含if/else

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 
} 

回答

0

功能

public static String outsideTemp() 

返回String。但主函数不返回任何内容。

你会想是这样的:

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 
} 
0

因为你说你的指令(我猜你指的是分配?)说没有参数或返回,您需要更换String部分的功能定义outsideTemp()void。由于它不会返回任何内容,因此您的main函数也需要进行更改,以免期望返回任何内容。

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

public static void outsideTemp() 
{ 
    ... // this all stays exactly how it is now 
} 

但是,如果你的意思是返回一个字符串,用约翰的回答

相关问题