java编写程序来做这件事情,读入数据,检查是否有重复的数据。如果有,去掉所有重复的数字。最后按照输入顺序输出没有重复数字的数据。所有重复的数字只保留第一次出现的那份。 输入格式: 你的程序首先会读到一个正整数 n,1≤n≤100000。 然后是 n 个整数,这些整数的范围是 [1, 100000]。
时间: 2023-05-29 21:06:32 浏览: 100
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
Set<Integer> set = new LinkedHashSet<>(); // 使用 LinkedHashSet 来保证按照输入顺序输出
for (int i = 0; i < n; i++) {
int num = scanner.nextInt();
if (!set.contains(num)) {
set.add(num);
}
}
for (int num : set) {
System.out.print(num + " ");
}
}
}
相关问题
读入数据,检查是否有重复的数据。如果有,去掉所有重复的数字。最后按照输入顺序输出没有重复数字的数据。所有重复的数字只保留第一次出现的那份。输入格式: 你的程序首先会读到一个正整数 n,1≤n≤100000。然后是 n 个整数,这些整数的范围是 [1, 100000]。输出格式: 在一行中按照输入顺序输出去除重复之后的数据。每两个数据之间有一个空格,行首尾不得有多余空格。用java语言写一下
Sure! 下面是使用 Java 语言编写的一个解决该问题的示例程序:
```java
import java.util.HashSet;
import java.util.Scanner;
public class RemoveDuplicates {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = scanner.nextInt();
}
HashSet<Integer> set = new HashSet<>();
StringBuilder result = new StringBuilder();
for (int num : nums) {
if (!set.contains(num)) {
set.add(num);
result.append(num).append(" ");
}
}
System.out.println(result.toString().trim());
}
}
```
这个程序首先读取一个正整数n,表示接下来会有n个整数。然后通过循环读取n个整数,并将它们存储在一个整数数组中。接下来,我们使用HashSet来记录已经出现过的数字,并使用StringBuilder来构建最终的输出结果。遍历整数数组,如果当前数字没有在HashSet中出现过,则将其添加到HashSet中,并将其添加到结果字符串中。最后,我们打印结果字符串,注意要去除首尾多余的空格。
希望对你有帮助!如有任何疑问,请随时提问。
java编写代码实现从键盘读入一句仅有单词和空格组成的英文语句,实现将其中每个单词的字母逆序,并将结果输出。
可以使用 Java 中的 Scanner 类来读取用户输入的一句英文语句,然后将其拆分成单词,对每个单词进行逆序处理,并最后将结果输出。
以下是实现的代码:
```
import java.util.Scanner;
public class ReverseWords {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a sentence: ");
String sentence = scanner.nextLine();
String[] words = sentence.split(" ");
String reversedSentence = "";
for (String word : words) {
String reversedWord = "";
for (int i = word.length() - 1; i >= 0; i--) {
reversedWord += word.charAt(i);
}
reversedSentence += reversedWord + " ";
}
System.out.println("Reversed sentence: " + reversedSentence.trim());
}
}
```
在上面的代码中,我们首先创建了一个 Scanner 对象来读取用户输入的一句英文语句。然后,我们使用 split() 方法将该句话拆分成多个单词,并将它们存储在一个字符串数组 words 中。
接下来,我们使用两个 for 循环来逆序处理每个单词。外层循环遍历每个单词,内层循环逆序遍历每个单词的字符,并将其存储在一个新的字符串 reversedWord 中。
最后,我们将每个逆序的单词拼接起来,并在每个单词之间添加一个空格,得到最终的逆序语句 reversedSentence。最后,我们将该逆序语句输出到控制台上。需要注意的是,由于我们在每个单词后面添加了一个空格,因此最后输出的语句末尾也会有一个空格,需要使用 trim() 方法将其去掉。