我写了一个课程来接受输入i , n,然后打印一个系列:i; ii; iii; iiii;...n术语.因此,如果用户输入5为3条件,输出5; 55; 555;.
import java.io.*;
public class replicate
{
public void method() throws IOException
{
int i = 0;
int n = 0;
int x = 0;
int num;
BufferedReader obj=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter number");
num = Integer.parseInt(obj.readLine());
System.out.println("Enter number of terms");
n = Integer.parseInt(obj.readLine());
for(i=1;i<=n;i++)
{
x = num + (num*10);
System.out.println (x);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,使用4个输入5的程序运行程序会给出输出
55
55
55
Run Code Online (Sandbox Code Playgroud)
我已将问题追溯到最后一个for循环.我的逻辑在哪里出错了,我该如何解决?
由于num循环中没有变化,因此表达式num + (num*10)在所有迭代中产生相同的值.您应该使用之前的值x代替num,如下所示:
x = x * 10 + num;
Run Code Online (Sandbox Code Playgroud)