java这几个字符串是怎么靠右对齐?怎么对齐不了?是怎么办?
2条回答 默认 最新
EdsionWang 2022-05-10 23:47关注因为有中文,占位符和字符串长度是不一致的。如果你都是英文字母和字符的话,这样写格式化输出没问题。中文的话,你可以先计算出GBK编码后的长度,然后再添加前导空格来对齐。
import java.io.UnsupportedEncodingException; public class HelloWorld { public static void main(String []args) { try { String name1 = "海飞丝洗发水|"; name1 = new String(" ").substring(0,20 - name1.getBytes("GBK").length)+name1; String name2 = "飘柔洗发水|"; name2=new String(" ").substring(0,20 - name2.getBytes("GBK").length)+name2; String name3 = "洗发水|"; name3=new String(" ").substring(0,20 -name3.getBytes("GBK").length)+name3; System.out.println(name1); System.out.println(name2); System.out.println(name3); } catch(UnsupportedEncodingException e) { System.out.println(e); } } }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1