定义两个整型数组,定义一个方法接收这两个数组(返回一个数组)
例如:
int [] num1 = {1,2,3,4,5,6};
int [] num2 = {1,2,3,4};
num1的元素比num2的元素多
num1和num2相乘(元素不一定是1,2,3,4,5,6 和1,2,3,4)
num1的元素5没有乘数,就改乘num2的第一个元素,以此类推。
最后把乘积以数组的形式返回
java编程题:定义两个整型数组,定义一个方法(返回一个数组)
答案:3 悬赏:30
解决时间 2021-04-27 23:03
- 提问者网友:回憶丶初
- 2021-04-27 04:58
最佳答案
- 二级知识专家网友:我颠覆世界
- 2021-04-27 06:33
import java.util.*;
public class Test {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入数组1长度");
int num1Length=input.nextInt();
System.out.println("请输入数组2长度");
int num2Length=input.nextInt();
int[] num1=new int[num1Length];
int[] num2=new int[num2Length];
//由于num1数量比num2多,所以结果也肯定是num1的数量
int[] rlt=new int[num1Length];
//给num1赋值
for(int i=0;i<num1.length;i++)
{
System.out.println("请输入num1的"+(i+1)+"个数的值");
num1[i]=input.nextInt();
}
//给num2赋值
for(int i=0;i<num2.length;i++)
{
System.out.println("请输入num2的"+(i+1)+"个数的值");
num2[i]=input.nextInt();
}
int breakLength=0;
for(int i=0;i<num1.length;i++)
{
//"num1的第"+(i+1)+"个数和num2的第+(breakLength+1)+"个数相乘"
rlt[i]=num1[i]*num2[breakLength];
System.out.println("num1的第"+(i+1)+"个数和num2的第"
+(breakLength+1)+"个数相乘");
//如果num2到尾了,则置0
if(breakLength<num2.length-1)
{
breakLength++;
}
else
{
breakLength=0;
}
}
for(int i=0;i<rlt.length;i++)
{
System.out.println(rlt[i]);
}
}
}
public class Test {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入数组1长度");
int num1Length=input.nextInt();
System.out.println("请输入数组2长度");
int num2Length=input.nextInt();
int[] num1=new int[num1Length];
int[] num2=new int[num2Length];
//由于num1数量比num2多,所以结果也肯定是num1的数量
int[] rlt=new int[num1Length];
//给num1赋值
for(int i=0;i<num1.length;i++)
{
System.out.println("请输入num1的"+(i+1)+"个数的值");
num1[i]=input.nextInt();
}
//给num2赋值
for(int i=0;i<num2.length;i++)
{
System.out.println("请输入num2的"+(i+1)+"个数的值");
num2[i]=input.nextInt();
}
int breakLength=0;
for(int i=0;i<num1.length;i++)
{
//"num1的第"+(i+1)+"个数和num2的第+(breakLength+1)+"个数相乘"
rlt[i]=num1[i]*num2[breakLength];
System.out.println("num1的第"+(i+1)+"个数和num2的第"
+(breakLength+1)+"个数相乘");
//如果num2到尾了,则置0
if(breakLength<num2.length-1)
{
breakLength++;
}
else
{
breakLength=0;
}
}
for(int i=0;i<rlt.length;i++)
{
System.out.println(rlt[i]);
}
}
}
全部回答
- 1楼网友:情战凌云蔡小葵
- 2021-04-27 08:02
public int[] arrayMultiply(int[] array1,int[] array2)
{
int maxLength = Math.max(array1.length, array2.length);
int minLength = Math.min(array1.length, array2.length);
int[] resultArray = new int[maxLength];
for(int i =0;i<maxLength;i++){
if(array1.length>array2.length)
resultArray[i] = array1[i]*array2[i%minLength];
else
resultArray[i] = array1[i%minLength]*array2[i];
}
return resultArray;
}
这个方法能行吧?
- 2楼网友:苦柚恕我颓废
- 2021-04-27 06:42
import java.util.*;
class yugi{
protected int[] arr;
public yugi(int[] arr){
this.arr = arr;
}
public void out(){
system.out.println(arrays.tostring(arr));
}
}
class sortyugi extends{
public void sort(){
arrays.sort(arr);
}
}
class reverseyugi extends{
public void reverse(){
for(int i = 0; i < arr.length / 2; i++){
arr[arr.length - 1 - i] = arr[i];
}
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息