从字符串中删除重复的字符

时间:2018-05-16 06:17:55

标签: java

我有一个加密或解密文件的程序。关键字是用户输入的字符串,但必须删除任何重复的字母。

例如,FEATHER将成为FEATHR

我目前有以下申请作为起点,但我不知道如何删除重复的字母。我需要更改或添加什么?

import java.io.File;
import java.io.FileNotFoundException;

import java.io.PrintWriter;

import java.util.Scanner;


public class Average

{

public static void main(String[] args) throws FileNotFoundException

{

    System.out.print("Would you like to encrypt or decrypt. e/d");
    Scanner ed = new Scanner (System.ed);
    String eOrD = ed.next();

    if (eOrD.equals("e"))
    {

        Scanner console = new Scanner(System.in);

        System.out.print("Output File: ");

        String outputFileName = console.next();


        PrintWriter out = new PrintWriter(outputFileName);

        System.out.print("Please enter an encryption key");
        String keyWord = in.next();

1 个答案:

答案 0 :(得分:-1)

您可以使用Set集合来存储char序列中的字符,Set只允许使用唯一条目,因此您将是金色的。例如:

@Test
public void setTest(){
  Set<Integer> integerSet = new LinkedHashSet<>();
  integerSet.add(1); // return true, operation successfull
  integerSet.add(2); // return true
  integerSet.add(1); // return false
  asserEquals(2, integerSet.size()); // test is green, passed
}

正如家伙在评论和建议中提到的那样,我们需要保留排序,而不是所有的Set实现都这样做。感谢你们。