gpt4 book ai didi

java - 在 Java 中使用 'printf'

转载 作者:行者123 更新时间:2023-11-29 07:02:40 25 4
gpt4 key购买 nike

我在代码中实现 printf 方法时遇到问题。本周我开始了我的第一门 Java 类(class),并试图在类里面取得领先。本质上,我要创建一个 ASCII 字符、十六进制数字及其十进制等价物的输出,最多 127 个条目。输出中创建的行数由用户输入选择。这是我到目前为止的代码:

package lab1;
import java.util.Scanner;

public class Lab1 {
public static void main(String[] args) {

//declare
Scanner scan = new Scanner(System.in);

//prompt the user to enter an integer, num defines the # of rows displayed in output
System.out.print("How many groups? ");
int num = scan.nextInt();

//print ascii, then hex value, then dec value
for (int c = 0; c < 128; c++) {
String hex = Integer.toString(c , 16);
String output = (char)c + " " + hex + " " + c;
System.out.println(output);
/*
//print the output with printf to create the columns
//character (c), string(s), decimal integer(d)
System.out.printf("%-2c %-2s %-2d", output);
*/
}
}
}

我会在这里张贴一张图片来显示最终结果应该是什么样子,但我需要 10 个声望。不过,我可以私下通过电子邮件将副本发送给您。

我希望您能帮助我了解如何完成此操作,或者指导我找到可以自学的资源。

谢谢!

最佳答案

您需要传递与 printf 中的标志相同数量的参数。

for (int c = 0; c < 128; c++) { 
// String hex = Integer.toString(c , 16); - No need for this anymore.

// Print the output with printf to create the columns
// character (c), string(s), decimal integer(d)
System.out.printf("%-2c 0x%-2X %-2d%n", (char)c, c, c);
}

使用 0x%-2X,您可以打印出大写的十六进制值。我添加了 0x 作为前缀来指定基数。

示例输出:

...
A 0x41 65
B 0x42 66
C 0x43 67
D 0x44 68
E 0x45 69
F 0x46 70
G 0x47 71
H 0x48 72
I 0x49 73
J 0x4A 74
K 0x4B 75
L 0x4C 76
M 0x4D 77
N 0x4E 78
O 0x4F 79
P 0x50 80
Q 0x51 81
R 0x52 82
S 0x53 83
T 0x54 84
U 0x55 85
V 0x56 86
W 0x57 87
X 0x58 88
Y 0x59 89
Z 0x5A 90
...

关于java - 在 Java 中使用 'printf',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23644190/

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