Java 返回和接收方法

Java 返回和接收方法,java,methods,Java,Methods,我是一个初学者,我试图通过在我的主方法中调用不同的方法来实现底部的输出,但是我不断地出错。谁能给我指一下正确的方向吗。不确定是否需要在主标题中列出调用方法中的参数 import java.util.Scanner; public class CityOrozcoB52 { // begin class private static Scanner input = new Scanner(System.in); public static void main(String[] arg

我是一个初学者,我试图通过在我的主方法中调用不同的方法来实现底部的输出,但是我不断地出错。谁能给我指一下正确的方向吗。不确定是否需要在主标题中列出调用方法中的参数

import java.util.Scanner;

public class CityOrozcoB52 
{ // begin class
  private static Scanner input = new Scanner(System.in);

  public static void main(String[] args) 
  { // begin main method

    String city, state;
    float cityPopulation, statePopulation;



    cityName();
    stateName();
    cityPopulation(city);
    statePopulation(state);
    cityPercState(cityPopulation, statePopulation);
    displayCityStateStats(cityName, stateName, cityPopulation, statePopulation, cityPercState);



 } // end main method

  public static String cityName()
  {
    String city = "";
    System.out.printf("What is the name of your city:");
     city = input.nextLine();

     return city;
  }

  public static String stateName()
  {
    String state = "";
    System.out.printf("What is the name of your state:");
    state = input.nextLine();

    return state;
  }

  public static float cityPopulation(String city)
  {
    float cityPopulation = 0;
    System.out.printf("what is the population of %s:\n", city);
    cityPopulation = input.nextFloat();

    return cityPopulation; 
  }
  public static float statePopulation(String state);
  {
    float statePopulation = 0;
    System.out.printf("what is the population of %s:", state);
    statePopulation = input.nextFloat();

    return statePopulation;
  }

  public static float cityPercState(float cityPopulation, float statePopulation)
  {
   float cityStatePercentage = (cityPopulation / statePopulation) * 100; 
  }

  public static void displayCityStateStats(String cityName, String stateName, float cityPopulation, float statePopulation, 
                                      float cityPercState)
  {
   System.out.printf("POPULATION STATISTICS\n\n"
                    + "City: %s"
                    + "State: %s"
                    + "City Population: %f"
                    + "State Population: %f"
                    + "City to State Population: %.2f%%", cityName, stateName, cityPopulation, statePopulation, 
                                                          cityPercState);

  }
} // ends CityOrozcoLE52

不知道您会遇到什么错误这有点棘手,但我认为您在变量的范围方面遇到了问题。与main()方法的以下调用类似:

您没有“捕获”cityName()或任何其他函数返回的值。以下最有可能奏效:

float cityPercState;
city = cityName();
state = stateName();
cityPopulation = cityPopulation(city);
statePopulation = statePopulation(state);
cityPercState = cityPercState(cityPopulation, statePopulation);
displayCityStateStats(city, state, cityPopulation, statePopulation, cityPercState);

因此,每当你有一个函数返回一个值,如果你想访问返回的值,你需要将它存储在一个变量中,如我所示。在方法内部使用的变量在其他方法中不可用,除非您仅在类内部声明它们,如输入变量。

不知道会出现什么错误这有点棘手,但我认为您在变量的范围方面遇到了问题。与main()方法的以下调用类似:

您没有“捕获”cityName()或任何其他函数返回的值。以下最有可能奏效:

float cityPercState;
city = cityName();
state = stateName();
cityPopulation = cityPopulation(city);
statePopulation = statePopulation(state);
cityPercState = cityPercState(cityPopulation, statePopulation);
displayCityStateStats(city, state, cityPopulation, statePopulation, cityPercState);

因此,每当你有一个函数返回一个值,如果你想访问返回的值,你需要将它存储在一个变量中,如我所示。在方法内部使用的变量在其他方法中不可用,除非您仅在类内部声明它们,如输入变量。

您在主方法中声明了变量,但没有初始化它们。由于您创建了具有返回类型的方法,并打算返回值(如城市名称),因此必须使用您声明的变量捕获每个方法返回的值

例如,在main中:

city = cityName();

此外,您的程序似乎打算对城市的数据/信息进行建模。您的类缺少一个构造函数。您学习过创建类/对象吗?如果没有,我建议这样做。如果使用构造函数、setter和getter(accessor和mutator方法)编程,这个程序会更干净、更有组织。

您在main方法中声明了变量,但没有初始化它们。由于您创建了具有返回类型的方法,并打算返回值(如城市名称),因此必须使用您声明的变量捕获每个方法返回的值

例如,在main中:

city = cityName();

此外,您的程序似乎打算对城市的数据/信息进行建模。您的类缺少一个构造函数。您学习过创建类/对象吗?如果没有,我建议这样做。如果使用构造函数、setter和getter(accessor和mutator方法)编程,该程序将更干净、更有条理。

如果为所使用的语言添加标记,并给出所遇到错误类型的示例,则会有所帮助。就你的问题而言,社区向你提供帮助并不容易。语言是java&这些是我的错误。发现6个错误:文件:E:\New Folder\CityOrozcoB52.java[行:27]错误:找不到符号符号:变量cityName位置:class CityOrozcoB52文件:E:\New Folder\CityOrozcoB52.java[行:27]错误:找不到符号符号符号:变量stateName位置:class CityOrozcoB52文件:E:\New Folder\CityOrozcoB52.java[行:27]错误:找不到symbol symbol:变量cityPercState location:类CITYOROZCOB52如果您为正在使用的语言添加标记,并给出所遇到错误类型的示例,则会有所帮助。就你的问题而言,社区向你提供帮助并不容易。语言是java&这些是我的错误。发现6个错误:文件:E:\New Folder\CityOrozcoB52.java[行:27]错误:找不到符号符号:变量cityName位置:class CityOrozcoB52文件:E:\New Folder\CityOrozcoB52.java[行:27]错误:找不到符号符号符号:变量stateName位置:class CityOrozcoB52文件:E:\New Folder\CityOrozcoB52.java[行:27]错误:找不到符号符号:变量cityPercState位置:类cityorozcob52这6个错误都是“找不到符号”,其中一个表示缺少方法体或声明摘要您使用的是什么java编译器/IDE?从这些错误看来,您显然没有正确地使用变量。这6个错误都是“找不到符号”,其中一个表示缺少方法体或声明摘要您使用的是什么java编译器/IDE?从这些错误来看,您显然没有正确使用变量。