Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从字符串输入中获取任意长度的整数_Java_String_Input_Int - Fatal编程技术网

Java 如何从字符串输入中获取任意长度的整数

Java 如何从字符串输入中获取任意长度的整数,java,string,input,int,Java,String,Input,Int,因此,我一直在尝试编写一个程序,在这个程序中,它将能够从字符串输入中获取任何整数,不管它的长度如何。只有当整数的长度为1时,我才能得到它。这是我的代码,其中包含了我编写的另一个类的方法 Scanner input = new Scanner(System.in); Object user1 = new Object(); String user1Input = null; System.out.println("Please enter coins"); user1Input = input.n

因此,我一直在尝试编写一个程序,在这个程序中,它将能够从字符串输入中获取任何整数,不管它的长度如何。只有当整数的长度为1时,我才能得到它。这是我的代码,其中包含了我编写的另一个类的方法

Scanner input = new Scanner(System.in);
Object user1 = new Object();
String user1Input = null;
System.out.println("Please enter coins");
user1Input = input.nextLine();
while(!(user1Input.contains("end"))){
    if(user1Input.contains("Quarters")){
        user1.depositQuarters(Character.getNumericValue(user1Input.charAt(0)));
    }
}
到目前为止,我的代码是,如果我输入“2个季度”,它将返回我0.50美元的余额,但如果我输入“20个季度”,它也将返回我0.50美元。我尝试了另一种方法来声明另一个变量

System.out.println("Please enter coins");
int coins = input.nextInt();
String user1Input = input.nextLine();
然后相同的while循环和if语句遵循这一点并返回一个错误。
任何帮助都将不胜感激。谢谢

如果您想继续使用第一种方法,您可以更改
user1Input
以替换“Quarter”部分。大概是这样的:

user1.depositQuarters(Integer.parseInt(user1Input.replace(" Quarters", "")));

希望这有帮助

如果您想继续使用第一种方法,您可以更改
user1Input
以替换“Quarter”部分。大概是这样的:

user1.depositQuarters(Integer.parseInt(user1Input.replace(" Quarters", "")));
希望这有帮助

请试试这个(我已经测试了代码);如果有效,请将第二个“System.out.println”替换为“user1.depositQuarters”:

谢谢

请试试这个(我已经测试了代码);如果有效,请将第二个“System.out.println”替换为“user1.depositQuarters”:


谢谢

扫描仪可以为您完成所有工作:

int ncoins = input.nextInt();
int coinName = input.nextLine().trim();
will,输入“40个四分之一”后,将为您提供40个NCOIN和coinName中的“四分之一”


这甚至适用于数字前面或名称后面的空格。

扫描仪可能会为您完成所有工作:

int ncoins = input.nextInt();
int coinName = input.nextLine().trim();
will,输入“40个四分之一”后,将为您提供40个NCOIN和coinName中的“四分之一”


这甚至适用于数字前面或名称后面的空格。

可能的重复看起来就像您为此行编写代码的方式:
user1.depositQuarters(Character.getNumericValue(user1Input.charAt(0))它只是在更改它看到的第一个索引。您的第二种方法是:@Thomas正确,但最好不要输入一个必须拆分的字符串。这就是为什么会有Scanner。它的可能副本看起来就像您为这一行编写代码的方式:
user1.depositQuarters(Character.getNumericValue(user1Input.charAt(0))它只是在更改它看到的第一个索引。您的第二种方法是:@Thomas正确,但最好不要输入一个必须拆分的字符串。这就是为什么有扫描仪。