gpt4 book ai didi

java - 程序不会继续执行下一个方法

转载 作者:行者123 更新时间:2023-11-29 03:25:03 27 4
gpt4 key购买 nike

我正在尝试编写一个程序,让用户输入一个数字,然后输出第一个数字、最后一个数字以及该数字中的位数。我的问题是程序会在 Input 方法中请求输入,但它只是不断地请求输入,并且永远不会进入下一个方法。任何帮助将不胜感激。

private static String number;
private static String x;
private static int argument;
public static int Input()//Takes the user's input
{
Scanner in=new Scanner(System.in);
System.out.println("Please input a number");
argument=in.nextInt();
number=Integer.toString(argument);
x=number.substring(0);
return Input();
}
public static int firstDigit()//Returns the first digit
{
System.out.println(number.substring(0,1));
return firstDigit();
}
public static int lastDigit ()//Returns the last digit
{
int a=number.length();
System.out.println(number.substring(a-1,a));
returnn lastDigit();
}
public static int Digits ()//Returns the number of digits
{
int a=number.length();
System.out.println(a);
return Digits();
}
public static void main(String[]args)
{
Input();
firstDigit();
lastDigit();
Digits();
}

最佳答案

您的 Input() 方法在最后不断递归地调用自身。不要那样做,不要记忆方法本身的内部

public static int input()//Takes the user's input
{
Scanner in=new Scanner(System.in);
System.out.println("Please input a number");
argument=in.nextInt();
number=Integer.toString(argument);
x=number.substring(0);
return Input(); // ***** recursion here *****
}

而是返回数字,参数。

public static int input()//Takes the user's input
{
Scanner in=new Scanner(System.in);
System.out.println("Please input a number");
argument=in.nextInt();
number=Integer.toString(argument);
x=number.substring(0);
return argument;
}

或者更好的是,让它无效并让它返回nothing,因为您似乎没有对任何方法的返回值做任何事情。

public static void input()//Takes the user's input
{
Scanner in=new Scanner(System.in);
System.out.println("Please input a number");
argument=in.nextInt();
number=Integer.toString(argument);
x=number.substring(0);
}
  • 注意:所有方法名称都应以小写字母开头,因此 input()... 而不是 Input()。
  • 注意 2:根据 Dukeling——您需要对所有您的方法进行类似的修复,因为它们都有相同的问题。

关于java - 程序不会继续执行下一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21458245/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com