java如何找到前三位数字的和
我是Java新手,我试图在int
数字中找到前三位数字的和。
我有一个数字123456
我想找到前三位的和123
,然后找到最后三位的和456
,然后比较它。我不明白怎么做。我下一步:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter the number:");
int number = scanner.nextInt();
int length = (int) Math.ceil(Math.log10(number));
for (int i = 1; i <= 3; i++) {
System.out.println(i);
}
System.out.println(length);
System.out.println(number);
}
我想我应该使用for循环,但我不确定。我知道如何计算数字的长度。但是如何计算前三个数和后三个数的和呢
# 1 楼答案
下面是一个不使用字符串或数组的替代解决方案:
# 2 楼答案
您可以尝试这段代码,每一行都在注释中解释
# 3 楼答案
首先,可能应该更正长度的拼写-尽管可能不是,因为您并不需要该变量来完成此操作
您的代码应该做的是而不是立即将输入转换为
int
,以使这对您来说更容易。首先要将输入字符串分成两部分,然后取这两个数字并用循环求和以下是我的想法:
请注意,此代码用于处理6个字符的输入,并假定它们是数字。如果输入的字符太少或输入的字母太多,它会崩溃,但您以后总是会担心这一点
# 4 楼答案
这里有一个简单的方法,假设整数的位数是偶数
替代方法
这里有另一种不使用上述数组的方法,通过将求和抽象为一个方法,实际上简化了逻辑
# 5 楼答案
假设长度不变(6):
阅读String API-它有很多有用的方法。对于这样的小程序,通常很容易转换为字符串,使用字符串方法,然后解析回int
编辑:安迪·特纳和杰里米·加藤告诉我
Character.getNumericValue()
。因此,声明:可更改为:
同样地
secondSum