黑马程序员技术交流社区

标题: 代码交流 [打印本页]

作者: 冬冬宋    时间: 2016-8-17 22:34
标题: 代码交流
[AppleScript] 纯文本查看 复制代码
package test;

import java.util.LinkedHashSet;
import java.util.Scanner;

public class Demo2 {

        /**
         * @param args
         * 使用Scanner从键盘读取一行输入,去掉其中重复字符, 打印出不同的那些字符
         * aaaabbbcccddd
         */
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);//创建键盘录入对象
                System.out.println("请输入一段字符串");
                String s = sc.nextLine();
                char [] arr = s.toCharArray();//将录入的字符穿转换为字符数组
                LinkedHashSet<Character> li = new LinkedHashSet<>();//创建linkdehashset集合
                //第一使用普通for进行遍历
                for (int i = 0; i < arr.length; i++) {//遍历字符数组
                        li.add(arr);//每遍历出一个字符,就调用linkedsethash的add方法,这样当不重复的时候,就往li集合里面添加,重复的时候,就不添加
                }
                System.out.println(li);//最后打印集合中的元素
               
                //第二种使用character作为数据类型的增强for显得代码更加清晰一点,节省代码量
                for (Character character : li) {
                        System.out.print(character);
                }
                System.out.println();//换行作用
                //第三种使用char作为数据类型的增强for遍历
                for (char character : li) {        //这里写成char也是可以的,因为在他会自动装箱变成character
                        System.out.print(character);
                }
        }

}

作者: luliang    时间: 2016-8-17 23:16
[Java] 纯文本查看 复制代码
public class Demo3 {

        /**
         *使用Scanner从键盘读取一行输入,去掉其中重复字符, 打印出不同的那些字符
         *创建Scanner 对象;
         *提示输入一行
         *将输入的字符串转换成数组,
         *
         */
        public static void main(String[] args) {
                HashSet<Character> hs = new HashSet<>();        //创建HashSet集合
                Scanner sc = new Scanner(System.in);                //创建Scanner对象
                System.out.println("请输入一个字符串:");                        //输入提示
                String s = sc.nextLine();                                        //输入一行
                char[] ch = s.toCharArray();                                //将字符串转换成字符数组
                for (int i = 0; i < ch.length; i++) {                //遍历数组
                        hs.add(ch);                                                        //向集合中添加字符数组中的元素
                }
                for (char c : hs) {                                                        //遍历集合
                        System.out.print(c);                                        //打印输出
                }
        }

}

作者: 哈韩浪子    时间: 2016-8-18 13:42
请问 这个需求用set 可以去掉重复的数据。这是战士算法?





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2