我刚刚开始学习Java(两个月还在计算),我仍然有很多问题需要学习。现在我想使用Scanner
类将一个整数“除”成数字。我会用一个例子来解释自己:
我请求用户输入一个四位数的整数,比如8919
。我想要做的是使用Scanner
类来划分该整数并将其每个数字分配给一个变量;即a = 8
,b = 9
,c = 1
和d = 9
。
我肯定知道可以做到并且Scanner
类是要走的路。我只是不知道如何正确使用它。有需要的菜鸟可以在这里得到一些帮助吗?谢谢!
编辑:已提出的建议与我的具体问题不符。在该线程中,类Scanner
不用于将整数分成数字。我指定我想使用Scanner
类,因为那里使用的许多不同方法仍然超出了我的水平。无论如何,在那个帖子中有很多有趣的想法,我希望我以后可以使用,所以无论如何,谢谢。
答案 0 :(得分:1)
您可以在扫描仪上使用分隔符。在这种情况下,您可以使用空字符串作为分隔符。
String input = "8919";
Scanner s = new Scanner(input).useDelimiter("");
a = s.nextInt();
b = s.nextInt();
c = s.nextInt();
d = s.nextInt();
s.close();
答案 1 :(得分:0)
您应该将整数作为整数读取并将其存储在变量中。存储后,您可以将其拆分。其他方式是将其存储为字符串然后拆分字符串。你应该选择什么取决于你之后想要做什么
答案 2 :(得分:0)
试试这个:
import java.util.Scanner;
public class ScannerToTest {
public static void main(String[] args) {
int a,b,c,d;
System.out.print("Please enter a 4 digit number : ");
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
String numberToString = String.valueOf(number);
if(numberToString.length() == 4) {
String numberArray [] = numberToString.split("");
a = Integer.parseInt(numberArray[1]);
b = Integer.parseInt(numberArray[2]);
c = Integer.parseInt(numberArray[3]);
d = Integer.parseInt(numberArray[4]);
System.out.println("Value of a is : " + a);
System.out.println("Value of b is : " + b);
System.out.println("Value of c is : " + c);
System.out.println("Value of d is : " + d);
}else {
System.out.println("Numbers beyond 4 digits are disallowed!");
}
}
}