Day1:字符集合

题目:

给定一个长度为n的字符串,字符串中只包含大小写字母。请你返回该字符串拥有那些字符。并将他们按照出现的先后顺序拼接成一个新的字符串。

备注:

1\leqslant n\leqslant100

在统计字符时,需要区分大小写。

输入描述:

每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。

输出描述:

每组数据一行,按字符原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。

示例:

输入:abcqweracb

输出:abcqwer

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);//①
        while (sc.hasNextLine()){//②
            String str =sc.nextLine();
            System.out.println(fun(str));
        }
    }
    private static String fun(String str){
        boolean[] flg=new boolean[127];
        StringBuilder stringBuilder=new StringBuilder();//③
        for (int i=0;i<str.length();i++){
            char ch =str.charAt(i);//④
            if (flg[ch]==false){
                stringBuilder.append(ch);
                flg[ch]=true;//⑤
            }
        }
        return stringBuilder.toString();//⑥
    }
}

运行结果: 

 注释:

①、该语句用来表示输入

②、hasNextLine()函数通常用于处理文本文件流或字符串流中。它的作用是在遍历内容是检查是否还有下一行数据可供读取。当这个函数返回true时,意味着可以安全的调用nextLine()函数获取下一行;如果返回false,则表示已经达到了文件的结尾或者流中没有更多的行。

③、StringBulider是Java中的一个字符串构建工具,用于动态的创建和修改字符串。比String效率更高,因为他是在原地进行修改,不会生成新的字符串对象。

StringBulider提供了多种方便的方法来添加、插入、删除、和替换字符。

·append():追加字符串到原有内容后面。

·insert(index,str):在指定位置插入字符串。

·delete(startIndex,endIndex):删除从startIndex开始到endIndex结束的字符。

·replace(oldchar,newchar):将某个字符替换成另一个字符。

④、charAt(i)是用于获取字符串用特定位置字符的方法。

⑤、采用做标记的方法判断一个字符是否重复出现。

⑥、stringBuilder.toString()用于将stringBuilder对象转换为String类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值