Denary数字到十六进制
作为一项功课,我被要求编写一个程序,将一个二元数转换为十六进制。我创作的作品有点不同,但作为输出它给了我反转的数字,我不知道如何解决它(这是我的第一个程序)。Denary数字到十六进制
public static void main(String[] args) {     System.out.println("Give a denary number: "); 
    Scanner sc = new Scanner(System.in); 
    int dec1 = sc.nextInt(); 
    String dec = Integer.toString(dec1); 
    int zmienna; 
    for(int i = 0; i < dec.length(); i++) { 
     zmienna = dec1 % 16; 
     dec1 = dec1/16; 
     if(zmienna == 10) { 
      System.out.print("A"); 
     } 
     else if (zmienna == 11) { 
      System.out.print("B"); 
     } 
     else if (zmienna == 12) { 
      System.out.print("C"); 
     } 
     else if (zmienna == 13) { 
      System.out.print("D"); 
     } 
     else if (zmienna == 14) { 
      System.out.print("E"); 
     } 
     else if (zmienna == 15) { 
      System.out.print("F"); 
     } 
     else if (zmienna == 0 & i == dec.length() - 1) { 
      System.out.print(""); 
     } 
     else { 
      System.out.print(zmienna); 
     } 
    } 
} 
回答:
我只是改变你的程序中的一点我只是试图解决你的问题,它的工作原理。我只是添加了一个StringBuilder并附加字符,并在最后反转它。 
 代码
import java.util.Scanner; public class A { 
    public static void main(String[] args) { 
     System.out.println("Give a denary number: "); 
     Scanner sc = new Scanner(System.in); 
     int dec1 = sc.nextInt(); 
     StringBuilder sb =new StringBuilder(); 
     String dec = Integer.toString(dec1); 
     int zmienna; 
     for(int i = 0; i < dec.length(); i++) { 
      zmienna = dec1 % 16; 
      dec1 = dec1/16; 
      if(zmienna == 10) { 
       //System.out.print("A"); 
       sb.append("A"); 
      } 
      else if (zmienna == 11) { 
       //System.out.print("B"); 
       sb.append("B"); 
      } 
      else if (zmienna == 12) { 
       //System.out.print("C"); 
       sb.append("C"); 
      } 
      else if (zmienna == 13) { 
       //System.out.print("D"); 
       sb.append("D"); 
      } 
      else if (zmienna == 14) { 
       //System.out.print("E"); 
       sb.append("E"); 
      } 
      else if (zmienna == 15) { 
       // System.out.print("F"); 
       sb.append("F"); 
      } 
      else if (zmienna == 0 & i == dec.length() - 1) { 
       System.out.print(""); 
      } 
      else { 
       //System.out.print(zmienna); 
       sb.append(zmienna); 
      } 
     } 
     System.out.println(sb.reverse()); 
    } 
} 
以上是 Denary数字到十六进制 的全部内容, 来源链接: utcz.com/qa/257273.html

