gpt4 book ai didi

java - 如何创建一个按单个字符读取整数的循环

转载 作者:行者123 更新时间:2023-12-02 11:38:08 25 4
gpt4 key购买 nike

所以我在使用这个程序时遇到了麻烦,我必须让用户输入 0 和 1 的序列。然后我必须使用递归来计算非负 int 并打印它。这是我目前拥有的代码,并且可以编译。

import java.util.Scanner;

public class Bin {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);

System.out.print("Please enter a sequence of 1's and 0's");
String binInput = scan.next();
System.out.println(binaryToDecimal(binInput));
}

public static int binaryToDecimal(String binString) {
int size = binString.length();

if (size == 1) {
return Integer.parseInt(binString);
} else {
return binaryToDecimal(binString.substring(1, size)) + Integer.parseInt(binString.substring(0, 1)) * (int) Math.pow(2, size - 1);
}

}
}

问题是创建一些东西来读取用户输入的 int,例如 11101,并逐个读取它以检查其中是否还有其他数字。如果用户输入非 1 或 0 数字,则应该打印错误,我有代码。这就是我所拥有的:

for (int index = 0; index < n.length();
index++) {
char aChar = n.charAt(index);
}

现在我知道 n.charAt(index) 和 n.length 是错误的,但我不知道如何编写它以正确转换。

最佳答案

提示

您不能对 int 执行 n.length()n.charAt()(基本上是字符串操作)。将 n 更改为字符串。

因此,每当您需要 n 作为 Integer 时,请使用 Integer.parseInt(n) ,当您需要 n 作为 String 时,请使用 Integer.toString(n).

关于java - 如何创建一个按单个字符读取整数的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48779490/

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