这是我的帖子,我想知道如何删除已经输入的数组中的元素。星期一到期的作业。控制台将以不同的方式打印输入的所有值,这意味着它只会打印仅输入一次的值。
系统将提示人们输入十次“输入整数”消息,系统将获取这些值并删除任何重复项,但仅显示输入的两个中的一个。 I.E如果输入17两次,则仅显示前17个。
所以这是我到目前为止的代码
import java.util.Scanner;
import java.util.Arrays;
public class Unit03Prog2 {
public static void main(String[] args) {
//Array
int Numbers[] = new int[10];
Scanner Numb = new Scanner(System.in);
for(int i=0; i < Numbers.length; i++){
System.out.print("Enter an integer: ");
//Stores it, and moves to the next line
Numbers[i]= Numb.nextInt();
//Removes duplicates
//Code to remove duplicates goes here VVVV
//Ends it if i = 10
if(i == Numbers.length)
{
break;
}
//End of for statement
}
System.out.println("The number of distinct values is " + Arrays.toString(Numbers));
//end of main method
}
//end of Class
}
所以代码可以工作,除了它之外,它显示了无论输入的每个值。我只需要输入一次的数字
即
Enter an integer : 11
Enter an integer : 12
Enter an integer : 13
Enter an integer : 14
Enter an integer : 15
Enter an integer : 16
Enter an integer : 16
Enter an integer : 17
Enter an integer : 19
Enter an integer : 19
应该说不同值的数量是11 12 13 14 15 16 17 19
谢谢你们, 约书亚。
答案 0 :(得分:1)
您可以使用<div class="image">
<img src="your_main_image"/>
</div>
.image{
background-image: url('your_placeholder_image');
}
来解决它:
Set
答案 1 :(得分:0)
是的,使用仅包含唯一元素的集合来实现您的目的。
也许您需要保留输入序列,但Set不会保留序列。 我想你想要一个逻辑来删除数组中的重复记录,对吧? 试试这个:
import java.util.HashSet;
import java.util.Scanner;
import java.util.Arrays;
import java.util.Set;
public class Main {
public static void main(String[] args) {
//Array
int Numbers[] = new int[10];
Set<Integer> integerSet = new HashSet<>();
Scanner Numb = new Scanner(System.in);
for(int i=0; i < Numbers.length; i++){
System.out.print("Enter an integer: ");
//Stores it, and moves to the next line
Numbers[i]= Numb.nextInt();
integerSet.add(new Integer(Numbers[i]));
}
//Array to keep unique items with same sequence of input
int uniqueNumbers[] = new int[integerSet.size()];
integerSet= new HashSet<>();
for(int i=0;i<Numbers.length;i++){
if(!integerSet.contains(Numbers[i])){
uniqueNumbers[integerSet.size()]=Numbers[i];
integerSet.add(Numbers[i]);
}
}
System.out.println("The number of distinct values is " + Arrays.toString(uniqueNumbers));
}
答案 2 :(得分:0)
替换代码以删除重复项。我建议在插入数组之前检查重复项。如果输入的数字是重复的,请跳过它并阅读下一个输入。
@Service
public class ResourceResolverImpl implements LSResourceResolver {
private ILoadFromSRService iLoadFromSRService;
@Autowired
public ResourceResolverImpl(ILoadFromSRService iLoadFromSRService){
this.iLoadFromSRService = iLoadFromSRService;
}
public LSInput resolveResource(String type,
String namespaceURI,
String publicId,
String systemId,
String baseURI) {
String string =iLoadFromSRService.getServiceBaseTypeSchema();
string = string.replace("\n", "").replace("\t", "");
InputStream resourceAsStream = new ByteArrayInputStream( string.getBytes());
return new LSInputImpl(publicId, systemId, resourceAsStream);
}
}
答案 3 :(得分:0)
public static void main(String [] args){
int a[] = {1,2,3,4,5,1,2};
for(int i=0; i<a.length;i++) {
int count = 0;
for(int j=0; j<a.length;j++) {
if(a[i]==a[j] && i!=j) {
count++;
break;
}
}
if(count == 0) {
System.out.println(a[i]);
}
}
}