gpt4 book ai didi

java - 你能解释一下下面的java代码吗?它是Java输出格式化主题

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

Java 输出格式化主题。cin 有什么作用?里面有角色吗?我已在需要帮助理解的行中添加了注释。基本上是 for 循环和 printf 命令。休息就好了。提前致谢。

class Solution{
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
System.out.println("================================");
for(;cin.hasNext();){ //what is this doing?
String s=cin.next();
int a=cin.nextInt();
System.out.printf("%-15s%03d\n",s,a); //What is this doing exactly?
}
System.out.println("================================");
}

最佳答案

% : Begin format specifier

s : Formats value as a String

- : A flag for left-justified

%3d 表示最小空间宽度为 3,默认情况下对齐。

%-3d 在前面添加减号将使文本对齐。

%03d 在输出前面填充零。因此,将打印 007,而不是 7

%05d 上述的另一个例子。因此,将打印 00007,而不是 7

<小时/>

根据您提供的信息:("%-15s%03d\n", s, a)

您可以推断出以下内容:

  • 有 2 个格式说明符(由两个 % 表示)- 指定两种类型的格式。
  • first 格式 (%-15s) 用于first变量s
  • 第二格式(%03d)适用于第二变量一个
  • 第一个变量s将左对齐,宽度为15个字符(指示为-15s)
  • 第二个变量a将右对齐并在前面填充零。 (用%0表示)
  • 第二个变量a的宽度为3个字符,并且右对齐(由%3d表示)
<小时/>

示例:

运行以下代码:

System.out.printf("%-8s%05d\n","hello", 50); 

输出:

hello   00050
^^^
|||
3 spaces because hello has width of 8 when we write %8s.
5 spaces already taken by "hello".

运行以下代码:

System.out.printf("%8s%05d\n","hello", 50);  //Removing the - sign (Right justified)

输出:

   hello00050
^^^
|||
3 spaces comes to the front because we removed the -. Text becomes right justified.

关于java - 你能解释一下下面的java代码吗?它是Java输出格式化主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32716343/

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