java函数调用另一个函数怎么调用?java函数调用方式方法

TheDisguiser 2020-06-24 15:47:40 java常见问答 4907

小伙伴们对函数相信都挺了解的吧,你们知道要怎么在java函数中调用另一个函数吗?下面小编就为你们讲解讲解。

首先我们看一个实例,如下:

public class java
{
    public void getInt()
    {
        String strChar = "a(bc)()()dnn()()j";
        int iX = 0;
        int iY = 0;
        for (int p = 0; p < strChar.length(); p++)
        {
            String getstr = strChar.substring(p, p + 1);
            if (getstr.equals("("))
            {
                iX++;
            }
            if (getstr.equals(")"))
            {
                iY++;
            }
        }
        if (iX > iY)
        {
            System.out.println(iY);
        }
        else
        {
            System.out.println(iX);
        }
    }
    public static void main(String[] args)
    {
        System.out.println("总共有括号对数:");
    }
}

上面是一个错误的函数,那么错在哪了呢?首先我们要知道,在主函数main前是必须有static修饰符的,baistatic表示静态。通常来说,在静态的方法中,如若想要直接调用其他方法,那么被调用的方法也必须是静态的。

我们看到以上程序总共包含两个部分:方法getInt()与主函数main, 其中,主函数是静态的。这样就不能够在main中直接调用getInt()了,因为getInt没有使用static修饰,它不是静态的。

我们需要将public void getInt() 修改为public static void getInt() ,追加静态修饰符static后可直接调用。

主函数main修改为:

public static void main(String[] args)
{
    getInt(); //这里调用了上面的方法
    System.out.println("总共有括号对数:");
}

返回值:

有些方法是带有返回值的,取决于你的想法。能不能带返回值取决于void修饰符

普通方法:无返回值void修饰 。如 public void fangfa()这是无返回值的

public int fangfa() 这个是有返回值的,而且返回值必须是int

例:

public int getPlayercounts()
{
    int playercount = 0; //一般先初始化一个相应的变量待用(重要)
    for (int i = 0; i < 99; i++) //一些相关的计算和方法开始..
        playercount++;
    return playercount; //返回一个int值(重要,而且是必须)
}

当你的方法不是用void修饰 而是用其他数据类型修饰,均是要有返回值的,也就是说在方法的结束为止至少要有一个return + 相应的数据类型的变量 来结束。

那么返回值究竟有什么意义呢?

我们可以看下这个例子:

public static int getPlayercounts() //注意我用了static 这是一个静态方法
{
    int playercount = 0; //一般先初始化一个相应的变量待用(重要)
    for (int i = 0; i < 99; i++) //一些相关的计算和方法开始..
        playercount++;
    return playercount; //返回一个int值(重要,而且是必须)
}
public static voin main(String[] args)
{
    System.out.println("一共有" + getPlayercounts() + "个玩家");
}

可以看出来了吧,getPlayercounts()执行后是会获得执行时得到的int数呃,在一些需要最后得到某个结果的方法中,用含有返回值的方法是非常方便的。

因为我们需要得到的是括号数,所以要把本来的原有方法改成一个返回int值的方法。

在以上代码完全修改后如下:

public class java
{
    public static int getInt() // 原来是 public void getInt() ,修改后增加了static修饰, 
    int替换了void
    {
        String strChar = "a(bc)()()dnn()()j";
        int iX = 0;
        int iY = 0;
        for (int p = 0; p < strchar.length(); p++) < p = "" >
        {
            String getstr = strChar.substring(p, p + 1);
            if (getstr.equals("("))
            {
                iX++;
            }
            if (getstr.equals(")"))
            {
                iY++;
            }
        }
        return Math.min(iY, iX); //取两者之间的最小值(即括号对数)作为返回值
    }
    public static void main(String[] args)
    {
        System.out.println("总共有括号对数:" + getInt());
    }
}

以上就是关于java函数调用的全部方法了,如若还需要了解更多函数常见问题,请记得关注奇Q工具网。

推荐阅读;

java函数知识都有哪些?java函数大全