Java中如何控制右对齐输出?

 我来答
wo黄小主
2020-10-19 · 喜欢和宝宝一起感知世界
wo黄小主
采纳数:2 获赞数:1664

向TA提问 私信TA
展开全部

Java中控制右对齐输出的方法有以下:


1、你可以把数字转换成字符串,用 String.format("% 4d", number1); 可以补充空格。有个更好的方法用printf();这个给C中的方法差不多,很方便例如这样:System.out.printf("%-10s","abc"); //输出10列,左对齐(-号表示左对齐);System.out.printf("%8d",23); //输出8列, 右对齐。


2、你可以把数字转换成字符串,用 String.format("% 4d", number1); 可以补充空格,这样行
有个更好的方法用printf();这个给C中的方法差不多,很方便例如这样:System.out.printf("%-10s","abc");System.out.printf("%8d",23);System.out.println();System.out.printf("%-10s","ab");System.out.printf("%8d",23); 就可以了,这只是个例子,具体情况怎么实现看你自己。

百度网友afd52b8
2018-04-12 · TA获得超过3843个赞
知道小有建树答主
回答量:19
采纳率:0%
帮助的人:2910
展开全部
  • %4.xx  使输出右对齐,不足4位用空格;

  • %-10s  使字符串左对齐输出,不足10位,后加空格;

  • %10s   使字符串右对齐输出,不足10位,前加空格。

输出的对齐格式:
printf("%4.d\n",1);
printf("%4.d\n%4.d\n%4.d\n",3,12,1123);
printf("%-10s%d\n",s,12);
%4.xx  使输出右对齐;不足4位用空格;
%.4xx  使小数保留4位小数,若该数为整形,不足四位前填0;多余4位原样输出;
%-4.xx 使输出的数左对齐;
%-10s  使字符串左对齐输出,不足10位,后加空格;
%10s   使字符串右对齐输出,不足10位,前加空格;
%10.s  不输出字符,只输出10位空格;
%.10s  字符原样输出;

举例:
#include<stdio.h>
int main()
{
printf("%4.d%4.d%4.d\n",1,34,12344);
printf("%4.d\n%4.d\n%4.d\n",3,12,11123);  //右对齐;不足四位,前加空格;
printf("%.4d\n%.4d\n%.4f\n%.4f\n",23,2342,2.3,343.32);  //对小数,保留四位小数;对整数,不足四位,前加零;
printf("%-4.d%-4d\n",1,23423);  //左对齐;不足四位,后加空格;
printf("%-10s%-10s\n","asdsd","asdsfdgfhgh");  //不足十位,后加空格;
printf("%10s%10s\n","sdsfsf","sdsfdsgsgf");  //不足十位,前加空格;
printf("%10.sq\n","asdaff");  //输出十个空格;
printf("%.10s%.10s\n","asdad","sdsfdsgfgg"); //字符串原样输出;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qq424301187
2011-08-16
知道答主
回答量:15
采纳率:0%
帮助的人:10.4万
展开全部
这个是没有具体的方法实现的,只用控制输出前面的空格建议看一下九九乘法表的算法实现!!需要的话可以call我

int a; for(int i=0;i<=999;i++){
if(a/10<1){ for(int q=0;q<=10;q++){system.out.println(" 2空格 "+a);}}
else if(1<=a/10<10){for(int b=0;b<=90;b++){System.out.println("1空格"+a);}}
else if(10<=a<100){for(int c=0;c<=901;c++){System.out.println(a);}}
}else{
break;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓝调de天空
推荐于2017-10-06 · 超过17用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:44.4万
展开全部
for(int i=0;i<=10;i++){
System.out.printf("%10s", i);
}
%10s 是表示对应的空格10格
i 是将要输出的

看下这是不是你所要的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ketty303
2011-08-16 · 超过28用户采纳过TA的回答
知道答主
回答量:96
采纳率:0%
帮助的人:79.1万
展开全部
System.out.println("a\tb\tc");
System.out.println("1\t2\t3");
试试看\t制表符。
追问
谢谢啊,叫了我这么好的方法。不过不是右对齐输出,而是像制表一样上下对齐!谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式