帮忙写个java算法:有一系列数据比如:122,30,130,90,130,90,80,55.按顺序取出其中n个数,n是由外部
答案:5 悬赏:50 手机版
解决时间 2021-12-01 12:53
- 提问者网友:世勋超人
- 2021-11-30 17:35
帮忙写个java算法:有一系列数据比如:122,30,130,90,130,90,80,55.按顺序取出其中n个数,n是由外部
最佳答案
- 五星知识达人网友:轻熟杀无赦
- 2021-11-30 18:19
已阅,明天晚上上代码,白天有事。追问等你啊。别忘了!!!!谢谢追答 import java.util.Arrays;
public class Exercise09 {
public static void main(String[] args) {
int[] arr={122,30,130,90,130,90,80,55};
int[][] test=split(arr,3);
int[][] testResult={{122,30,130},{122,100,130}};
equals(test,testResult);
}
private static int[][] split(int[] arr,int n){
if(null==arr)
throw new NullPointerException("array is null");
if(arr.length<1)
throw new IllegalArgumentException("array has not number");
if(n<0)
throw new IllegalArgumentException("argument n is negative");
int[][] result=null;
if(n>=arr.length){
result=new int[1][];
result[0]=arr;
return result;
}
result=new int[arr.length-n+1][];
for(int i=0;i result[i]=Arrays.copyOfRange(arr, 0+i,0+i+n);
}
return result;
}
private static void equals(int[][] original,int[][] target){
//关于健壮性就不处理了.....
for(int i=0;i for(int j=0;j int index=index(original[i],target[j]);
if(index<0)
System.out.println("目标数组 "+j+"与原数组 "+i+" 相等\t"+Arrays.toString(original[i]));
else
System.out.println("目标数组 "+j+"与原数组 "+i+" 不等,在目标数组的第 "+index+" 处"+Arrays.toString(target[j]));
}
}
}
private static int index(int [] original,int[] target ){
if(original==target)
return -1;
if(original==null || target==null)
return Integer.MAX_VALUE;
int len=original.length;
if(len!=target.length)
return Integer.MAX_VALUE;
for(int i=0;i if(original[i]!=target[i])
return i;
return -1;
}
}追问能不能把
int[] arr={122,30,130,90,130,90,80,55};
保存成List类型,然后再操作。。。
还有如果n>8,比如n=23,按顺序怎么找出这个序列中出现错误的位置。谢谢了。。能否留一下联系方式,O(∩_∩)O谢谢追答1032463844
度娘还跟我找回来了。。。。。。hehe
public class Exercise09 {
public static void main(String[] args) {
int[] arr={122,30,130,90,130,90,80,55};
int[][] test=split(arr,3);
int[][] testResult={{122,30,130},{122,100,130}};
equals(test,testResult);
}
private static int[][] split(int[] arr,int n){
if(null==arr)
throw new NullPointerException("array is null");
if(arr.length<1)
throw new IllegalArgumentException("array has not number");
if(n<0)
throw new IllegalArgumentException("argument n is negative");
int[][] result=null;
if(n>=arr.length){
result=new int[1][];
result[0]=arr;
return result;
}
result=new int[arr.length-n+1][];
for(int i=0;i result[i]=Arrays.copyOfRange(arr, 0+i,0+i+n);
}
return result;
}
private static void equals(int[][] original,int[][] target){
//关于健壮性就不处理了.....
for(int i=0;i
if(index<0)
System.out.println("目标数组 "+j+"与原数组 "+i+" 相等\t"+Arrays.toString(original[i]));
else
System.out.println("目标数组 "+j+"与原数组 "+i+" 不等,在目标数组的第 "+index+" 处"+Arrays.toString(target[j]));
}
}
}
private static int index(int [] original,int[] target ){
if(original==target)
return -1;
if(original==null || target==null)
return Integer.MAX_VALUE;
int len=original.length;
if(len!=target.length)
return Integer.MAX_VALUE;
for(int i=0;i
return i;
return -1;
}
}追问能不能把
int[] arr={122,30,130,90,130,90,80,55};
保存成List
还有如果n>8,比如n=23,按顺序怎么找出这个序列中出现错误的位置。谢谢了。。能否留一下联系方式,O(∩_∩)O谢谢追答1032463844
度娘还跟我找回来了。。。。。。hehe
全部回答
- 1楼网友:行雁书
- 2021-11-30 21:54
你这描述有问题吧!
- 2楼网友:愁杀梦里人
- 2021-11-30 20:39
public class Xy {
public static void main(String[] args) {
Xy.key(3); // 此处的数字,可按业务需求修改。
}
private static void key(int n) {
int[] array = { 122, 30, 130, 90, 130, 90, 80, 55 };
if (n > 0 && n < array.length) {
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < n && i <= array.length - n; j++) {
System.out.print(array[j + i] + "\t");
}
System.out.println("");
}
} else {
System.out.println("噢,运行失败 O(∩_∩)O 请检查您输入的是否为有效数字(过大? 过小? ……?)!");
}
}
}
public static void main(String[] args) {
Xy.key(3); // 此处的数字,可按业务需求修改。
}
private static void key(int n) {
int[] array = { 122, 30, 130, 90, 130, 90, 80, 55 };
if (n > 0 && n < array.length) {
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < n && i <= array.length - n; j++) {
System.out.print(array[j + i] + "\t");
}
System.out.println("");
}
} else {
System.out.println("噢,运行失败 O(∩_∩)O 请检查您输入的是否为有效数字(过大? 过小? ……?)!");
}
}
}
- 3楼网友:掌灯师
- 2021-11-30 19:20
这一系列数据你又怎么传入呢??
public static int[] getResult(int len, int[] array)
{
int[] resultArray = new int[len];
for (int i = 0; i < len; i++)
{
resultArray[i] = array[i];
}
return resultArray;
}
public static int[] getResult(int len, int[] array)
{
int[] resultArray = new int[len];
for (int i = 0; i < len; i++)
{
resultArray[i] = array[i];
}
return resultArray;
}
- 4楼网友:神鬼未生
- 2021-11-30 18:58
import java.util.Scanner;
public class test {
public static void main(String srgs[]){
String[] d={"102","123","212","321","341"};
Scanner da=new Scanner(System.in);
int g=da.nextInt();
int y=0;
int y1=g;
for(int u=1;u<=d.length-g;u++){
for(int d2=y;d2<=y1;d2++){
System.out.print(d[d2]+" ");
}
y++;
y1++;
System.out.println("");
}
}
}
public class test {
public static void main(String srgs[]){
String[] d={"102","123","212","321","341"};
Scanner da=new Scanner(System.in);
int g=da.nextInt();
int y=0;
int y1=g;
for(int u=1;u<=d.length-g;u++){
for(int d2=y;d2<=y1;d2++){
System.out.print(d[d2]+" ");
}
y++;
y1++;
System.out.println("");
}
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯