gpt4 book ai didi

java - 如何仅使用一个输入获得多个输出?

转载 作者:行者123 更新时间:2023-12-04 14:51:00 25 4
gpt4 key购买 nike

我想将十进制更改为二进制、八角形、十六进制,只需设置一个输入(十进制)int i ,我想得到3个输出:二进制、八进制、十六进制。但我的问题是,当我使用 int i 编写一次“while”以更改为二进制时,我无法得到关于下一个'while'的正确答案以使用int i更改为八角形.我认为我关于八进制的代码是错误的,但是当我设置另一个 int o 时,它工作正常......我认为第一个'while'的结果被用作下一个'while'的输入。我想知道我是否在使用 int i 时使用“while” , 那我不能用原来的 int i在下一个'while'?我想知道如何仅使用一个输入获得 3 个输出。例如,

<表类="s-表"><头>输入输出<正文>2017b 111111000013741h 7e1

这是我第一次学习编码,所以我的问题可能很奇怪。对不起:(下面的代码是我使用两个输入编写的。

import java.util.Scanner;


public class LA {

public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
int i = scn.nextInt();
String ab = "";
while (i > 0) {
ab = (i % 2) + ab;
i /= 2;
}

System.out.println("b " + ab);

int o = scn.nextInt();
String cd = "";
while (o > 0) {
cd = (o % 8) + cd;
o /=8;
}
System.out.println( "o " + cd);
}
}

最佳答案

您首先在 while 循环中更改 i 的值。在这个 while 循环结束时 i=0 所以下一个 while 循环将立即失败。

只需将输入保存在一个单独的变量中,您不要更改它并在每个 while 循环之前将其复制到 i:

int input = scn.nextInt();

int i= input;
while () {}

i=input;
while(i>0) { }

关于java - 如何仅使用一个输入获得多个输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69117626/

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