A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天涯追梦 中级黑马   /  2014-4-29 00:29  /  798 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

容器能否自定义输出格式,比如下面一段数组去重复的代码,如果我想使输出的结果是像数组一样的大括号,而不是输出的中括号,该怎样修改呢?( 比如原始数组是{4,2,4,6,1,2,4,7,8},要使得到结果是{4,2,6,1,7,8},而不是[4,2,6,1,7,8])


  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Scanner;

  4. public class Test8 {

  5.         public static void main(String[] args) {
  6.                 //提醒输入一组数字及输入格式
  7.                 System.out.println("请输入一组含重复元素的数(以逗号分隔):");
  8.                 Scanner sc = new Scanner(System.in);
  9.                 //读取和打印输入的一组数
  10.                 String str = sc.nextLine();
  11.                 System.out.println("原始数组是:["+str+"]");
  12.                 //把读取到的一行数以逗号拆分成字符串数组
  13.                 String [] ch = str.split(",");
  14.                 //定义List集合
  15.                 List <Integer> list = new ArrayList<Integer>();
  16.         //对字符串数组进行解析并判断是否包含于list集合中,若不包含则添加
  17.                 for (int i = 0; i < ch.length; i++) {
  18.                 if (!list.contains(Integer.parseInt(ch[i]))) {
  19.                         list.add(Integer.parseInt(ch[i]));
  20.                 }
  21.         }
  22. //输出结果               
  23.         System.out.println("得到去掉重复元素的结果为:"+list);
  24.                
  25.         }

  26. }
复制代码

2 个回复

倒序浏览
亲啊   看来你只能自己打印了
回复 使用道具 举报
那就不打印list了  自己定义打印的代码。
最笨的方法,将你的之后那句输出list代码换成:
  1. Object[] arr = list.toArray();
  2.                 System.out.print("{");
  3.                 for(int i =0; i < arr.length; i++){
  4.                 if(i==arr.length-1)System.out.print(arr[i]);
  5.                         else System.out.print(arr[i]+",");
  6.                         }
  7.                         System.out.print("}");
复制代码
包你成功{:3_50:}
话说里面的元素你先取出来,然后自定义打印代码,还不是想怎么打印就怎么打印。先取,再打。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马