我的作业中有一个问题,就是要我创建一个有3个参数的方法:
现在我们刚刚开始学习Java,我们不允许使用它们提供的任何魔术方法,只允许使用基本操作......当然还有所有循环和条件。
我确实创建了一种计算数字的方法,但我的问题是将数字添加到数字中。
public void insertDigit (int number, int digit, int index) {
int newNumber;
int numberOfDigits = 0;
int temp = 0;
while (number != 0) {
temp = number % 10;
number /= 10;
numberOfDigits++;
}
}
例如:someObject.insertDigit(345,5,1) - 这是输入
输出 - 3145
答案 0 :(得分:0)
由于这是一个学习练习,我将简要解释问题背后的数学;你必须编写所有代码以满足作业。
为了完成作业,您需要做两件事:
k
个数字 - 给定N
个m
个数字和一个小数字k
,产生两个数字A
和B
,A
数字m-k
前面有N
个数字,B
最后有k
个数字A
B
个数字N
和B
,按第三个数字A
将N
的数字添加到A
。给出(1)和(2)的解决方案,您应该能够首先将B
的数字切换为index
和D
位置A
来解决您的问题1}},将所需数字AD
附加到数字B
,生成AD
,最后将ADB
附加到k
,以获得int pow10k = (int)Math.pow(10, k); // If using Math is not allowed, compute pow(10,k) with a simple loop
int A = N / pow10k;
int B = N % pow10k;
的最终结果1}}。
以下是你如何解决#1:构造一个等于你想要削减数字的索引k
的10的幂,并计算
// Append B to A
int k = numDigits(B);
int pow10k = (int)Math.pow(10, k);
int AB = A*pow10k + B;
以下是你如何解决#2:计算所附数字中的位数{{1}}(你的帖子显示了几乎可行的方式),然后计算相应的10的幂。结果计算如下:
{{1}}