代码1/*
创建101个长度的数组,如果输入一个数字,那么这个数组的值加一,最后输出的时候输出第i个数字的个数,如果不等于0就输出。然后根据数字的个数看是不是复数即可
*/
import java.util.*;
class Home05_01{
public static void main(String []args){
Scanner in = new Scanner(System.in);
int []num=new int[101];//创建数组
System.out.print("输入1-100若干数字,输入0结束");
while (true){
int a = in.nextInt();
if (a!=0){
num[a]++;//这个数字的个数加一
}
else{
break;//结束
}
}
for (int i = 1;i<=100;i++){
if (num[i]!=0){
if (num[i]>1){
System.out.println(i+" occurs "+num[i]+" times");//大于1
}
else{
System.out.println(i+" occurs "+num[i]+" time");//等于1
}
}
}
}
}
代码1
/*
创建一个数组,没输入一个数字,就遍历一遍数组,看是否有,如果没有,就添加上,如果有,就继续下一次。
最后输出这个数字即可
*/
import java.util.Scanner;
class Home05_02{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int []num=new int[10];
int count = 0;
System.out.print("输入10个数字");
for (int i = 0;i<10;i++){//输入数字
int k = 0;
int n = in.nextInt();
for (int j = 0;j<count;j++){
if (num[j]==n)
k = 1;//看是否存在
}
if (k==0){
num[count]=n;//不存在,添加数组
count++;
}
}
for (int i = 0;i<count;i++) {
System.out.println(num[i]);//遍历输出
}
}
}
代码2
import java.util.*;
class Demo05_02{
public static void main(String[] args){
/*
思路1
在全部输入之后去重复 func1
思路2
边输入边去重复 func2
*/
// func1();
func2();
}
public static void func2(){
int[] arr=new int[0];
Scanner scanner = new Scanner(System.in);
System.out.print("Enter numbers:");
for(int i=0;i<10;i++){
int num=scanner.nextInt();
if(!contains(arr,num)){
arr=copyOf(arr,arr.length+1);
arr[arr.length-1]=num;
}
}
System.out.println(Arrays.toString(arr));
}
public static void func1(){
//1.循环遍历数组进行赋值
Scanner scanner = new Scanner(System.in);
System.out.print("Enter numbers:");
int[] arr = new int[10];
for(int i = 0;i < arr.length;i++){
arr[i] = scanner.nextInt();
}
//2.开始对已有的数据进行去重复操作
// 1 2 3 3 2 4 3 2 4 1
// 1 2 3 4
// method1(arr); //空间S(n) 时间O(nm)
// method2(arr); //空间S(1) 时间O(n^2)
// method3(arr);
}
public static void method3(int[] arr){
//不创建额外空间 不许改变原先的顺序
int i=0;
int size=arr.length;
while(i<size){
for(int j=i+1;j<size;){
if(arr[j]==arr[i]){
for(int k=j+1;k<size;k++){
arr[k-1]=arr[k];
}
size--;
}else{
j++;
}
}
i++;
}
for(i=0;i<size;i++){
System.out.print(arr[i]+" ");
}
}
public static void method2(int[] arr){
//插入排序
for(int i=1;i<arr.length;i++){
int e=arr[i];
int j;
for(j=i;j>0&&arr[j-1]>e;j--){
arr[j]=arr[j-1];
}
arr[j]=e;
}
//连续相等
for(int i=0;i<arr.length;){ //O(n)
System.out.print(arr[i]+" ");
int count=1;
for(int j=i+1;j<arr.length;j++){
5.1/*创建101个长度的数组,如果输入一个数字,那么这个数组的值加一,最后输出的时候输出第i个数字的个数,如果不等于0就输出。然后根据数字的个数看是不是复数即可*/import java.util.*;class Home05_01{ public static void main(String []args){ Scanner in = new Scanne...