Java中数组问题(1)先随机生成10个12到89之间的整数存入数组中。(2)键盘输入一个50-8
发布网友
发布时间:2022-04-28 13:50
我来回答
共3个回答
热心网友
时间:2023-10-11 09:35
package wu.;
import java.util.Random;
import java.util.Scanner;
public class FileTest1
{
public static int[] Myrand()//产生0~77随机数
{
Random rand=new Random();
int [] arr=new int[10];
for(int i=0;i<10;i++)
{
arr[i]=rand.nextInt(78)+12;//rand.nextInt(78) 随机数范围0~77
}
return arr;
}
public static int [] changeadd(int[] arr) //输入一个50-80的数字,并且插入到随机数中第三个位置
{
Scanner scn=new Scanner(System.in);
int i;
System.out.println("请输入50-80范围的整数 ");
i=scn.nextInt();
while(i<50 ||i>80)
{
System.out.println("请输入50-80范围的整数 ");
i=scn.nextInt();
}
int [] arr1=new int[arr.length+1];
for(int j=0;j<arr1.length;j++)
{
if(j==2)
{
arr1[2]=i;
}else if(j<2)
{
arr1[j]=arr[j];
}
else
arr1[j]=arr[j-1];
}
return arr1;
}
public static int[] change(int[] arr)//数组中的重复项,并将数组中大于50的值存入一个新数,返回并打印
{
int i;
int k=0;
int[] arr1=new int[arr.length];
for(i=0;i<arr.length;i++)
{
int j=0;
while(j<=k)
{
if(arr1[j]==arr[i])
break;
else
j++;
}
if(j>=k && arr[i]>50)
{
arr1[k++]=arr[i];
}
}
for( i=0, k=0;i<arr1.length;i++)
{
if(arr1[i]>0)
{
k++;
}
}
int[] arr2=new int[k];
for( i=0;i<k;i++)
{
arr2[i]=arr1[i];
}
show(arr2);
return arr2;
}
public static void show(int [] arr)
{
for(int i=0;i<arr.length;i++)
{
System.out.print(arr[i]+" ");
}
System.out.println();
}
public static void main(String[] args) {
int [] arr=null;
int [] arr1=null;
int [] arr2=null;
arr=Myrand();
show(arr);
arr1=changeadd(arr);
show(arr1);
change(arr1);
}
}
热心网友
时间:2023-10-11 09:35
import java.util.Scanner;
public class Te {
public void one(){
Scanner input = new Scanner(System.in);
int[] num = new int[10];
for (int i = 0; i < num.length; i++) {
int result = (int)(Math.random() * 78)+12;
num[i] = result;
}
System.out.println("录入数为50-80之间的数字!");
int luRu = input.nextInt();
while(true){
if (luRu>=50&&luRu<=80) {
break;
} else {
System.out.println("请重新录入,录入数为50-80之间的数字!");
luRu = input.nextInt();
}
}
num[2] = luRu;
show(num);
}
public void show(int[] num) {
int[] results = new int[10];
int j=0;
for (int i = 0; i < num.length; i++) {
System.out.print(num[i]+" ");
if (num[i]>=50) {
boolean isYou = true;
for (int k = 0; k < results.length; k++) {
if (num[i] == results[k]) {
isYou = false;
break;
}
}
if (isYou) {
results[j] = num[i];
j++;
}
}
}
System.out.println("\n处理后的数组: ");
for (int i = 0; i < results.length; i++) {
System.out.print(results[i]+" ");
}
}
public static void main(String[] args) {
Te te = new Te();
te.one();
}
}
热心网友
时间:2023-10-11 09:36
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
/*
* Java中数组问题
*
*
*
* */
public class TestArr {
public static void main(String[] args) {
//(1)先随机生成10个12到89之间的整数存入数组中。
int[] arr = new int[10];
int max = 89;
int min = 12;
for (int i = 0; i < arr.length; i++) {
arr[i] = new Random().nextInt(max - min) + min;
}
//(2)键盘输入一个50-80之间的任意值,不符合要求提示重新输入,
Scanner s = new Scanner(System.in);
int num;
while(true){
num = s.nextInt();
if (num>=50&&num<=80){
break;
}else{
System.out.println("请重新输入");
}
}
TestArr ta = new TestArr();
int[] newArr = ta.getNewArr(arr, num); //调用getNewArr()方法插入num
int[] newA = ta.test(newArr); //调用test方法去重 返回>50的数组 并打印
for (int i = 0; i < newA.length; i++) {
System.out.println(newA[i]);
}
}
//按顺序插入到第三个位置构成新数组,返回新数组。
public int[] getNewArr(int[] arr,int num){
List<Integer> list = new ArrayList<>();
for (int i=0; i<arr.length; i++) {
list.add(arr[i]);
}
list.add(2,num);
int[] newArr = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
newArr[i] = list.get(i);
}
return newArr;
}
//(3)设计一个方法,去除数组中的重复项,并将数组中大于50的值存入一个新数组,返回并打印。
public int[] test(int[] arr){
List<Integer> list = new ArrayList<>();
//
for (int i = 0; i<arr.length; i++) {
if(!list.contains(arr[i])){
if(arr[i]>50){
list.add(arr[i]);
}
}
}
int[] newArr = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
newArr[i] = list.get(i);
}
return newArr;
}
}
自己写的,请点评 谢谢
热心网友
时间:2023-10-11 09:35
package wu.;
import java.util.Random;
import java.util.Scanner;
public class FileTest1
{
public static int[] Myrand()//产生0~77随机数
{
Random rand=new Random();
int [] arr=new int[10];
for(int i=0;i<10;i++)
{
arr[i]=rand.nextInt(78)+12;//rand.nextInt(78) 随机数范围0~77
}
return arr;
}
public static int [] changeadd(int[] arr) //输入一个50-80的数字,并且插入到随机数中第三个位置
{
Scanner scn=new Scanner(System.in);
int i;
System.out.println("请输入50-80范围的整数 ");
i=scn.nextInt();
while(i<50 ||i>80)
{
System.out.println("请输入50-80范围的整数 ");
i=scn.nextInt();
}
int [] arr1=new int[arr.length+1];
for(int j=0;j<arr1.length;j++)
{
if(j==2)
{
arr1[2]=i;
}else if(j<2)
{
arr1[j]=arr[j];
}
else
arr1[j]=arr[j-1];
}
return arr1;
}
public static int[] change(int[] arr)//数组中的重复项,并将数组中大于50的值存入一个新数,返回并打印
{
int i;
int k=0;
int[] arr1=new int[arr.length];
for(i=0;i<arr.length;i++)
{
int j=0;
while(j<=k)
{
if(arr1[j]==arr[i])
break;
else
j++;
}
if(j>=k && arr[i]>50)
{
arr1[k++]=arr[i];
}
}
for( i=0, k=0;i<arr1.length;i++)
{
if(arr1[i]>0)
{
k++;
}
}
int[] arr2=new int[k];
for( i=0;i<k;i++)
{
arr2[i]=arr1[i];
}
show(arr2);
return arr2;
}
public static void show(int [] arr)
{
for(int i=0;i<arr.length;i++)
{
System.out.print(arr[i]+" ");
}
System.out.println();
}
public static void main(String[] args) {
int [] arr=null;
int [] arr1=null;
int [] arr2=null;
arr=Myrand();
show(arr);
arr1=changeadd(arr);
show(arr1);
change(arr1);
}
}
热心网友
时间:2023-10-11 09:35
import java.util.Scanner;
public class Te {
public void one(){
Scanner input = new Scanner(System.in);
int[] num = new int[10];
for (int i = 0; i < num.length; i++) {
int result = (int)(Math.random() * 78)+12;
num[i] = result;
}
System.out.println("录入数为50-80之间的数字!");
int luRu = input.nextInt();
while(true){
if (luRu>=50&&luRu<=80) {
break;
} else {
System.out.println("请重新录入,录入数为50-80之间的数字!");
luRu = input.nextInt();
}
}
num[2] = luRu;
show(num);
}
public void show(int[] num) {
int[] results = new int[10];
int j=0;
for (int i = 0; i < num.length; i++) {
System.out.print(num[i]+" ");
if (num[i]>=50) {
boolean isYou = true;
for (int k = 0; k < results.length; k++) {
if (num[i] == results[k]) {
isYou = false;
break;
}
}
if (isYou) {
results[j] = num[i];
j++;
}
}
}
System.out.println("\n处理后的数组: ");
for (int i = 0; i < results.length; i++) {
System.out.print(results[i]+" ");
}
}
public static void main(String[] args) {
Te te = new Te();
te.one();
}
}
热心网友
时间:2023-10-11 09:36
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
/*
* Java中数组问题
*
*
*
* */
public class TestArr {
public static void main(String[] args) {
//(1)先随机生成10个12到89之间的整数存入数组中。
int[] arr = new int[10];
int max = 89;
int min = 12;
for (int i = 0; i < arr.length; i++) {
arr[i] = new Random().nextInt(max - min) + min;
}
//(2)键盘输入一个50-80之间的任意值,不符合要求提示重新输入,
Scanner s = new Scanner(System.in);
int num;
while(true){
num = s.nextInt();
if (num>=50&&num<=80){
break;
}else{
System.out.println("请重新输入");
}
}
TestArr ta = new TestArr();
int[] newArr = ta.getNewArr(arr, num); //调用getNewArr()方法插入num
int[] newA = ta.test(newArr); //调用test方法去重 返回>50的数组 并打印
for (int i = 0; i < newA.length; i++) {
System.out.println(newA[i]);
}
}
//按顺序插入到第三个位置构成新数组,返回新数组。
public int[] getNewArr(int[] arr,int num){
List<Integer> list = new ArrayList<>();
for (int i=0; i<arr.length; i++) {
list.add(arr[i]);
}
list.add(2,num);
int[] newArr = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
newArr[i] = list.get(i);
}
return newArr;
}
//(3)设计一个方法,去除数组中的重复项,并将数组中大于50的值存入一个新数组,返回并打印。
public int[] test(int[] arr){
List<Integer> list = new ArrayList<>();
//
for (int i = 0; i<arr.length; i++) {
if(!list.contains(arr[i])){
if(arr[i]>50){
list.add(arr[i]);
}
}
}
int[] newArr = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
newArr[i] = list.get(i);
}
return newArr;
}
}
自己写的,请点评 谢谢
热心网友
时间:2023-10-11 09:35
package wu.;
import java.util.Random;
import java.util.Scanner;
public class FileTest1
{
public static int[] Myrand()//产生0~77随机数
{
Random rand=new Random();
int [] arr=new int[10];
for(int i=0;i<10;i++)
{
arr[i]=rand.nextInt(78)+12;//rand.nextInt(78) 随机数范围0~77
}
return arr;
}
public static int [] changeadd(int[] arr) //输入一个50-80的数字,并且插入到随机数中第三个位置
{
Scanner scn=new Scanner(System.in);
int i;
System.out.println("请输入50-80范围的整数 ");
i=scn.nextInt();
while(i<50 ||i>80)
{
System.out.println("请输入50-80范围的整数 ");
i=scn.nextInt();
}
int [] arr1=new int[arr.length+1];
for(int j=0;j<arr1.length;j++)
{
if(j==2)
{
arr1[2]=i;
}else if(j<2)
{
arr1[j]=arr[j];
}
else
arr1[j]=arr[j-1];
}
return arr1;
}
public static int[] change(int[] arr)//数组中的重复项,并将数组中大于50的值存入一个新数,返回并打印
{
int i;
int k=0;
int[] arr1=new int[arr.length];
for(i=0;i<arr.length;i++)
{
int j=0;
while(j<=k)
{
if(arr1[j]==arr[i])
break;
else
j++;
}
if(j>=k && arr[i]>50)
{
arr1[k++]=arr[i];
}
}
for( i=0, k=0;i<arr1.length;i++)
{
if(arr1[i]>0)
{
k++;
}
}
int[] arr2=new int[k];
for( i=0;i<k;i++)
{
arr2[i]=arr1[i];
}
show(arr2);
return arr2;
}
public static void show(int [] arr)
{
for(int i=0;i<arr.length;i++)
{
System.out.print(arr[i]+" ");
}
System.out.println();
}
public static void main(String[] args) {
int [] arr=null;
int [] arr1=null;
int [] arr2=null;
arr=Myrand();
show(arr);
arr1=changeadd(arr);
show(arr1);
change(arr1);
}
}
热心网友
时间:2023-10-11 09:35
import java.util.Scanner;
public class Te {
public void one(){
Scanner input = new Scanner(System.in);
int[] num = new int[10];
for (int i = 0; i < num.length; i++) {
int result = (int)(Math.random() * 78)+12;
num[i] = result;
}
System.out.println("录入数为50-80之间的数字!");
int luRu = input.nextInt();
while(true){
if (luRu>=50&&luRu<=80) {
break;
} else {
System.out.println("请重新录入,录入数为50-80之间的数字!");
luRu = input.nextInt();
}
}
num[2] = luRu;
show(num);
}
public void show(int[] num) {
int[] results = new int[10];
int j=0;
for (int i = 0; i < num.length; i++) {
System.out.print(num[i]+" ");
if (num[i]>=50) {
boolean isYou = true;
for (int k = 0; k < results.length; k++) {
if (num[i] == results[k]) {
isYou = false;
break;
}
}
if (isYou) {
results[j] = num[i];
j++;
}
}
}
System.out.println("\n处理后的数组: ");
for (int i = 0; i < results.length; i++) {
System.out.print(results[i]+" ");
}
}
public static void main(String[] args) {
Te te = new Te();
te.one();
}
}
热心网友
时间:2023-10-11 09:36
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
/*
* Java中数组问题
*
*
*
* */
public class TestArr {
public static void main(String[] args) {
//(1)先随机生成10个12到89之间的整数存入数组中。
int[] arr = new int[10];
int max = 89;
int min = 12;
for (int i = 0; i < arr.length; i++) {
arr[i] = new Random().nextInt(max - min) + min;
}
//(2)键盘输入一个50-80之间的任意值,不符合要求提示重新输入,
Scanner s = new Scanner(System.in);
int num;
while(true){
num = s.nextInt();
if (num>=50&&num<=80){
break;
}else{
System.out.println("请重新输入");
}
}
TestArr ta = new TestArr();
int[] newArr = ta.getNewArr(arr, num); //调用getNewArr()方法插入num
int[] newA = ta.test(newArr); //调用test方法去重 返回>50的数组 并打印
for (int i = 0; i < newA.length; i++) {
System.out.println(newA[i]);
}
}
//按顺序插入到第三个位置构成新数组,返回新数组。
public int[] getNewArr(int[] arr,int num){
List<Integer> list = new ArrayList<>();
for (int i=0; i<arr.length; i++) {
list.add(arr[i]);
}
list.add(2,num);
int[] newArr = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
newArr[i] = list.get(i);
}
return newArr;
}
//(3)设计一个方法,去除数组中的重复项,并将数组中大于50的值存入一个新数组,返回并打印。
public int[] test(int[] arr){
List<Integer> list = new ArrayList<>();
//
for (int i = 0; i<arr.length; i++) {
if(!list.contains(arr[i])){
if(arr[i]>50){
list.add(arr[i]);
}
}
}
int[] newArr = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
newArr[i] = list.get(i);
}
return newArr;
}
}
自己写的,请点评 谢谢