Java 从主方法调用方法?

Java 从主方法调用方法?,java,Java,我在尝试两种方法。main方法有用户输入,另一个名为ShowNum的方法应该输出…输出。以下是我的原始代码,其中有一个主要方法: public static void main(String[] args){ Scanner keyboard = new Scanner(System.in); int days; int num; System.out.print("Enter number of days: "); days = keyboard.nextInt(); System.

我在尝试两种方法。main方法有用户输入,另一个名为ShowNum的方法应该输出…输出。以下是我的原始代码,其中有一个主要方法:

public static void main(String[] args){
Scanner keyboard = new Scanner(System.in);
int days;
int num;

System.out.print("Enter number of days: ");
days = keyboard.nextInt();   

System.out.print("Enter number for first day: ");   
num = keyboard.nextInt();

int half = days/2;
int newnum = num + 2;     

      System.out.println("Day \t Number"); 

          for (int current_day = 1; current_day <= half; current_day++){        
              newnum = newnum - 2;                                            
              System.out.println(current_day + "\t" + (newnum + 2));
          }
          for (int current_day = half + 1; current_day <= days; current_day++){ 
              newnum++;                                                        
              System.out.println(current_day + "\t" + (newnum + 2)); 
          }
publicstaticvoidmain(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
国际日;
int-num;
System.out.print(“输入天数:”);
天=键盘.nextInt();
System.out.print(“输入第一天的编号:”);
num=键盘.nextInt();
int半=天/2;
int newnum=num+2;
System.out.println(“日期\t编号”);

对于(int current_day=1;current_day向函数中添加参数
DisplayNum()
如下
DisplayNum(int days,int num)
,然后将此方法调用到主方法中
DisplayNum(days,num)

将要从main方法使用的变量作为DisplayNum方法的参数传递

    public static void DisplayNum(int days,int num){          
   int half = days / 2; 
   int newnum = num + 2;                                              

   System.out.println("Day \t Num"); 

       for (int current_day = 1; current_day <= (days/2); current_day++){        
            newnum = newnum - 2;                                            
            System.out.println(current_day + "\t" + (num + 2)); 
              }
       for (int current_day = (days/2) + 1; current_day <= days; current_day++){ 
                  newnum++;                                                        
                  System.out.println(current_day + "\t" + (num + 2)); 
              }
    }

您需要将
days
temp
值和参数传递给
DisplayNum
方法。

您应该定义
publicstaticvoiddisplaynum(intdays inttemp)
并从
main
方法调用
DisplayNum(days,temp)

什么是相关的DisplayNum();在你的代码中?哦,对不起,我把它搞错了。这是另一个方法的名称。请检查我的答案,如果有帮助,请告诉我。你的方法在你的类中,你可以定义全局变量并将其用于所有方法。你真的应该阅读一些包含方法参数的初学者教程。非常感谢!这几乎是固定的你介意解释一下为什么把int放在()?这是如何定义的?@vee您需要将days和num int变量传递到DisplayNum方法中,因为您将这些变量作为局部变量使用到main方法中,并且这些变量无法从main方法外部访问。因此,一种方法是将这些变量传递到函数参数中,如果您不想传递参数,则不需要o您的DisplayNum函数,因此您需要将变量用作全局变量。啊~是的,我现在知道了。再次感谢。@vee:我建议您从“”开始,可能是在“”课程中。方法参数和返回值在“”和“”中有专门介绍。
    public static void DisplayNum(int days,int num){          
   int half = days / 2; 
   int newnum = num + 2;                                              

   System.out.println("Day \t Num"); 

       for (int current_day = 1; current_day <= (days/2); current_day++){        
            newnum = newnum - 2;                                            
            System.out.println(current_day + "\t" + (num + 2)); 
              }
       for (int current_day = (days/2) + 1; current_day <= days; current_day++){ 
                  newnum++;                                                        
                  System.out.println(current_day + "\t" + (num + 2)); 
              }
    }
public static void main(String[] args){

Scanner keyboard = new Scanner(System.in);
    int days;                                          
    int temp;                                          //variable for starting temperature

      System.out.print("Enter number of days in the period of time: ");   
        days = keyboard.nextInt();                                        

      System.out.print("Enter number for first day: ");               
        num = keyboard.nextInt();                                        



       DisplayNum(days,temp);
}