java如何输入2的31次方_续一: 如何优化Java程序:十进制转十六进制(2的31次方以内的正整数)…

java如何输入2的31次方_续一: 如何优化Java程序:十进制转十六进制(2的31次方以内的正整数)…改用 switch case 后 代码如下 packagecom java importjava util Scanner publicclassT publicstatic String args Scannersc newScanner System in for System out println 请输入小于 2

改用switch-case后,代码如下:

package com.java;

import java.util.Scanner;

public class TestTransform {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

for(;;){

System.out.println(“请输入小于2的31次方的正整数:(輸入0結束程序)”);

int i = sc.nextInt();

if(i==0){

System.out.println(“程序结束!”);

break;

}else{

int num = 0;

if(i>=Math.pow(2, 0) && i

num = 1;

}else if(i>=Math.pow(2, 4) && i

num = 2;

}else if(i>=Math.pow(2, 8) && i

num = 3;

}else if(i>=Math.pow(2, 12) && i

num = 4;

}else if(i>=Math.pow(2, 16) && i

num = 5;

}else if(i>=Math.pow(2, 20) && i

num = 6;

}else if(i>=Math.pow(2, 24) && i

num = 7;

}else if(i>=Math.pow(2, 28) && i

num = 8;

}

switch(num){

case 8:

int i8 = i>>28 & 15;

String s8 = i8<=9 ? i8+”” : (char)(i8-10+’a’)+””;

System.out.print(s8);

case 7:

int i7 = i>>24 & 15;

String s7 = i7<=9 ? i7+”” : (char)(i7-10+’a’)+””;

System.out.print(s7);

case 6:

int i6 = i>>20 & 15;

String s6 = i6<=9 ? i6+”” : (char)(i6-10+’a’)+””;

System.out.print(s6);

case 5:

int i5 = i>>16 & 15;

String s5 = i5<=9 ? i5+”” : (char)(i5-10+’a’)+””;

System.out.print(s5);

case 4:

int i4 = i>>12 & 15;

String s4 = i4<=9 ? i4+”” : (char)(i4-10+’a’)+””;

System.out.print(s4);

case 3:

int i3 = i>>8 & 15;

String s3 = i3<=9 ? i3+”” : (char)(i3-10+’a’)+””;

System.out.print(s3);

case 2:

int i2 = i>>4 & 15;

String s2 = i2<=9 ? i2+”” : (char)(i2-10+’a’)+””;

System.out.print(s2);

case 1:

int i1 = i & 15;

String s1 = i1<=9 ? i1+”” : (char)(i1-10+’a’)+””;

System.out.println(s1);

}

}

}

}

}

自己写的,欢迎各位友友交流挑错,赐教调优方法!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210894.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午11:39
下一篇 2026年3月18日 下午11:40


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号