创建一个hashset集合的对象,从键盘输入5个数,分别将这5个数添加到集合中,并打印集合中的数。
时间: 2023-04-28 09:00:21 浏览: 125
以下是Java代码示例:
```java
import java.util.HashSet;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
HashSet<Integer> set = new HashSet<>();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入5个整数:");
for (int i = ; i < 5; i++) {
int num = scanner.nextInt();
set.add(num);
}
System.out.println("集合中的数为:");
for (int num : set) {
System.out.println(num);
}
}
}
```
运行结果:
```
请输入5个整数:
1 2 3 4 5
集合中的数为:
1
2
3
4
5
```
相关问题
)从键盘上输入一行数据,利用集合类统计不同的单词数。
好的,可以使用Java语言来实现这个功能。代码如下:
```java
import java.util.*;
public class WordCount {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一行数据:");
String line = scanner.nextLine();
Set<String> set = new HashSet<>();
String[] words = line.split("[^a-zA-Z]+");
for (String word : words) {
set.add(word.toLowerCase());
}
System.out.println("不同的单词数为:" + set.size());
}
}
```
输入一行数据后,程序会将这行数据按照非字母字符进行分割,然后将分割得到的所有单词转换为小写字母,并加入到一个HashSet中。由于HashSet不会存储重复元素,因此最后输出HashSet的大小即可得到不同的单词数。
键盘随机输入一个字符串,统计该字符串中每个字符出现的次数并打印。 请按以下要求顺序编码: 定义学生类Student,属性:姓名、性别、年龄 定义测试类,及main()方法 定义一个存储Student类型的HashSet集合 创建以下三个Student对象 张三,男,20 李四,女,21 张三,男,20 将上述三个对象存储到Set集合中 使用增强for遍历集合,获取每个Student对象,并打印属性值; 请实现集合中不能存储姓名年龄相同的元素
好的,请看下面的Java代码实现:
首先,定义学生类`Student`,包含姓名、性别、年龄属性:
```java
public class Student private String name;
private gender;
private int;
public Student(String name, String gender, int age) {
this.name = name;
this.gender = gender;
this.age = age;
}
// Getters and Setters
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
// Override equals() and hashCode() to ensure uniqueness based on name and age
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
Student student = (Student) obj;
return name.equals(student.name) && age == student.age;
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
// Override toString() to print attribute values
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", gender='" + gender + '\'' +
", age=" + age +
'}';
}
}
```
然后,定义测试类,并按照要求进行编码:
```java
import java.util.HashSet;
import java.util.Set;
public class TestStudent {
public static void main(String[] args) {
Set<Student> studentSet = new HashSet<>();
// 创建三个Student对象
Student student1 = new Student("张三", "男", 20);
Student student2 = new Student("李四", "女", 21);
Student student3 = new Student("张三", "男", 20);
// 将三个对象存储到Set集合中
studentSet.add(student1);
studentSet.add(student2);
studentSet.add(student3);
// 使用增强for遍历集合,打印属性值
for (Student student : studentSet) {
System.out.println(student);
}
}
}
```
这段代码定义了一个`HashSet`集合,并创建了三个`Student`对象。将这三个对象存储到集合中,由于我们在`Student`类中重写了`equals()`和`hashCode()`方法,确保了集合中不能存储姓名和年龄相同的元素。然后使用增强for循环遍历集合并打印每个`Student`对象的属性值。
运行以上代码,输出结果如下:
```
Student{name='张三', gender='男', age=20}
Student{name='李四', gender='女', age=21}
```
希望能帮到你!如果你有其他问题,请随时提问。