gpt4 book ai didi

java - 无法让二进制文件水平打印并停止执行

转载 作者:行者123 更新时间:2023-12-01 05:06:27 25 4
gpt4 key购买 nike

我正在制作一个从十进制转换为二进制、八进制和十六进制的程序。到目前为止,我只关注十进制到二进制的部分。我的问题是,当我要求二进制转换为所述数字时,它会垂直打印而不是像 010 那样水平打印。此外,如果 y 输入大于 1024(这是我想要的最高值),我的 while 语句不会停止执行能够被接受。

import java.util.Scanner;

public class DNS
{
public static void main(String[] args)
{
int y;
Scanner input = new Scanner( System.in);
do
{
System.out.println("java DisplayNumberSystems");
System.out.println("Enter a decimal value to display to: ");
y = input.nextInt();

for(int x=0; x <=y; x++)
{
convertToBinary(x);
}
}
while(y <=1024);

}

public static void convertToBinary(int x)
{
if(x >0)
{
convertToBinary(x/2);
System.out.print(x%2 + " ");

}
System.out.println("");
}

}

最佳答案

public static void ConvertToBinary(int x) 中删除 System.out.println(""); 您将能够水平打印

并将你的 do-while 更改为简单的 while 像这样

    int y;
Scanner input = new Scanner( System.in);
System.out.println("java DisplayNumberSystems");
System.out.println("Enter a decimal value to display to: ");
y = input.nextInt();

while(y <=1024)
{

for(int x=0; x <=y; x++)
{
convertToBinary(x);
}
}

您在调用convertToBinary()方法后检查y是否<=1024。在调用 ConvertToBinary() 方法之前,您必须检查 y<=1024 是否为 y<=1024。

关于java - 无法让二进制文件水平打印并停止执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12590825/

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