Java 不在循环中打印某个元素
因此,我有以下代码:Java 不在循环中打印某个元素,java,Java,因此,我有以下代码: public class MyClass { public static void main(String args[]) { Scanner reader = new Scanner(System.in); System.out.println("Enter the upper limit: "); int input = reader.nextInt(); int i = 0;
public class MyClass {
public static void main(String args[]) {
Scanner reader = new Scanner(System.in);
System.out.println("Enter the upper limit: ");
int input = reader.nextInt();
int i = 0;
int power = 1;
long sum;
while (i <= input) {
System.out.print(power + " + ");
sum = power + power;
power = power * 2;
i++;
if (power > input) {
System.out.print(" = " + sum);
System.exit(0);
}
}
}
}
我想去掉最后一个“+”,使它看起来像一个实际的方程式。您可以打印并在循环外增加
功率,然后颠倒打印顺序:
System.out.print(power++);
while (i <= input)
{
System.out.print(" + " + power );
//...
}
您可以在循环外打印并增加功率
,然后颠倒打印顺序:
System.out.print(power++);
while (i <= input)
{
System.out.print(" + " + power );
//...
}
生成字符串,然后将其切掉,而不是打印。我更改了您的while循环,使其完全符合以下要求:
...
StringBuilder powerLine = new StringBuilder();
while (i <= input) {
powerLine.append(power + " + ");
//System.out.print(power + " + ");
sum = power + power;
power = power * 2;
i++;
if (power > input) {
System.out.print(powerLine.substring(0, powerLine.length() - 3));
System.out.print(" = " + sum);
System.exit(0);
}
}
。。。
StringBuilder powerLine=新的StringBuilder();
while(我输入){
System.out.print(powerLine.substring(0,powerLine.length()-3));
系统输出打印(“=”+总和);
系统出口(0);
}
}
生成字符串,然后将其切掉,而不是打印。我更改了您的while循环,使其完全符合以下要求:
...
StringBuilder powerLine = new StringBuilder();
while (i <= input) {
powerLine.append(power + " + ");
//System.out.print(power + " + ");
sum = power + power;
power = power * 2;
i++;
if (power > input) {
System.out.print(powerLine.substring(0, powerLine.length() - 3));
System.out.print(" = " + sum);
System.exit(0);
}
}
。。。
StringBuilder powerLine=新的StringBuilder();
while(我输入){
System.out.print(powerLine.substring(0,powerLine.length()-3));
系统输出打印(“=”+总和);
系统出口(0);
}
}
只需像下面那样更改行即可
System.out.print(电源+(电源*2只需按以下方式更改行
System.out.print(power+(power*2只需在else语句中添加打印++
)
Scanner reader = new Scanner(System.in);
System.out.println("Enter the upper limit: ");
int input = reader.nextInt();
int i = 0;
int power = 1;
long sum;
while (i <= input) {
System.out.print(power);
sum = power + power;
power = power * 2;
i++;
if (power > input) {
System.out.print(" = " + sum);
System.exit(0);
}else {
System.out.print(" + ");
}
}
只需在else语句中添加打印+
Scanner reader = new Scanner(System.in);
System.out.println("Enter the upper limit: ");
int input = reader.nextInt();
int i = 0;
int power = 1;
long sum;
while (i <= input) {
System.out.print(power);
sum = power + power;
power = power * 2;
i++;
if (power > input) {
System.out.print(" = " + sum);
System.exit(0);
}else {
System.out.print(" + ");
}
}
只需更改行一次==>.System.out.print(power+)(power*2意味着更改行一次==>.System.out.print)(power+)(power*2我不想将power的第一次迭代显示两次。例如,在您的示例“1+1”中,我不想将power的第一次迭代显示两次