我有一个加密或解密文件的程序。关键字是用户输入的字符串,但必须删除任何重复的字母。
例如,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();
答案 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实现都这样做。感谢你们。