使用另一种方法

时间:2015-07-24 12:07:53

标签: java variables methods

我试图创建一个简单的程序来输出用户输入的星数。我试图学习如何使用多种方法来做到这一点 这是我的代码

import java.util.Scanner;
public class Alpha 
{
    public static void main(String args[])
    {
        Scanner input = new Scanner(System.in);
         int n;

        System.out.println("Enter no. of stars");
        n = input.nextInt();

    }
    public static void Loop ()
    {
        for (int counter = 1; counter <= n; counter++)
        {
            System.out.println("*");
        }
    }
}

我面临的问题是在Loop方法中,我无法使用变量n 有没有办法在另一个中使用main方法中的变量? TY

-Pingu

6 个答案:

答案 0 :(得分:2)

只需将其作为参数传递:

public static void main(String args[])
    {
        Scanner input = new Scanner(System.in);
         int n;

        System.out.println("Enter no. of stars");
        n = input.nextInt();
        Loop(n);

    }
    public static void Loop (int count)
    {
        for (int counter = 1; counter <= count; counter++)
        {
            System.out.println("*");
        }
    }

答案 1 :(得分:2)

将其作为参数传递

myApp.service('DataProcessor', ['$injector', function($injector) {
    var service;

    $scope.init = function (serviceName) {
        service = $injector.get(serviceName);
    }

    this.processData = function(uri) {
        // use the service ...
    }
}]);

答案 2 :(得分:2)

import java.util.Scanner;
public class Alpha 
{
public static void main(String args[])
{
    Scanner input = new Scanner(System.in);
     int n;

    System.out.println("Enter no. of stars");
    n = input.nextInt();

    Loop(n); //calls Loop function and passes parameter n
}
public static void Loop(int n)  //this function now expects a number n
{
    for (int counter = 1; counter <= n; counter++)
    {
        System.out.println("*");
    }
}
}

答案 3 :(得分:1)

我认为您应该将它用作实例变量,并且为了更好地理解您的类,如StarClass,它可以提供更好的理解。良好的编程实践。

但是你应该避免不必要地制作实例变量而没有任何逻辑。

答案 4 :(得分:0)

我也认为你可以将n声明为公共变量。 这应该可以在整个代码中访问它。

public int n;

但我想将它作为参数传递是一种更好的做法,因为你不会在代码中创建一个deppendance。我的意思是,如果某些内容随变量而变化,则会破坏该功能。在代码中始终保持“模块化”是一种很好的做法,因此它使更改和调试更具弹性。 如果你习惯于beggining =)

,那就更好了

答案 5 :(得分:0)

两种方式......一种已经作为答案发布,另一种方式将变量用作字段。通过这种方式,您可以在每种方法中访问(并修改)它,而无需将其传递。

public class Alpha 
{

    static int n;
    public static void main(String args[])
    {
        Scanner input = new Scanner(System.in);

        System.out.println("Enter no. of stars");
        n = input.nextInt();
        loop();
    }
    public static void loop ()
    {
        for (int counter = 0; counter < n; counter++)
        {
            System.out.println("*");
        }
    }
}

请用小写开始方法名称并用0计数。这是常见的做法,从一开始就使用标准有很大帮助。