字符串oj ---->字符集合
Posted ohana!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串oj ---->字符集合相关的知识,希望对你有一定的参考价值。
题目内容:
首先是句题外话,这道题当我打开它的时候是一片空白的,我的大脑也随之一片空白,就感觉,即使这道题的解法很简单,但是,我却不知到如何下手,从哪开始写,直接敲方法?显然不可以,众所周知,只有方法的代码肯定是无法运行的(除了绝大多数进去直接由系统给出类的),所以一下子它和以往的oj题目不一样的地方有很多,有非常多的地方值得去关注
- 什么都没有,就相当于一切是空白的,系统只会出入测试用例,而且,这个测试用例进入的方式也不同于别的oj题目,是有参数列表的,因此,难度一下子又上去了,说通俗一点就是,系统会在我们写的代码当中寻找哪里可以将“我的”测试用例放进去测试,所以,第一个点就是需要我们从键盘输入,即就是需要用到Scanner如何使用,如何连续输入等等
- 需要编写一个类,这个类里面要去写我们的方法,当然也不能忘了
public static void main(String[] args)
- 再接着,还要输出,到最后,我们会发现,还缺一个东西,那就是导包,最好的建议就是直接导入
import java.util.*;
解题思路:
- 题目要求的是不能重复且区分大小写,那我么就直接常见一个新的StringBuilder的类,去将第一次出现的字母保存下来
- 要判断是不是重复,可以使用contains的方法,检测当前这个字符串里面是否包含这个字符,如果包含,那就跳过,如果没有就是用append方法添加到StringBuilder的尾部
- 最终将这个字符串转为String类型的即可
解题代码:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
while(s.hasNext()){
String str = s.nextLine();
StringBuilder s1 = new StringBuilder();
for(int i = 0; i < str.length();i++){
char ch = str.charAt(i);
if(!s1.toString().contains(ch + "")){
s1.append(ch);
}
}
System.out.println(s1.toString());
}
}
}
以上是关于字符串oj ---->字符集合的主要内容,如果未能解决你的问题,请参考以下文章