两个一维数组求和的Java方法
我是一名Java初学者,目前正在为考试而学习。我有一本关于任务的书,一个任务是两个任务,写一个方法,如果两个int数组的长度相同,它求和两个int数组。如果它们的大小不同,则结果应为空。对于不均匀的结果,我使用double作为值类型。我从这个开始:两个一维数组求和的Java方法,java,arrays,methods,int,Java,Arrays,Methods,Int,我是一名Java初学者,目前正在为考试而学习。我有一本关于任务的书,一个任务是两个任务,写一个方法,如果两个int数组的长度相同,它求和两个int数组。如果它们的大小不同,则结果应为空。对于不均匀的结果,我使用double作为值类型。我从这个开始: package aufgaben; public class Aufgabe7 { public static double ArrayRechner(int[] a, int [] b) { double ergeb
package aufgaben;
public class Aufgabe7 {
public static double ArrayRechner(int[] a, int [] b) {
double ergebnis;
if (a.length == b.length) {
result = a + b; // this gives me an error
System.out.println("Fast geschafft");
}
else {
result = 0.0;
}
System.out.println("the result is " + result);
return result;
}
}
但在标记的代码行上写着:
未为参数类型int[],int[]定义运算符+
我的问题在哪里?我必须重写什么?在Java数组中没有用于添加的重载。您有两个
int[]
实例,可以使用IntStream
获得sum()
(假设您使用的是Java 8+)。并且,请遵循Java命名约定。看起来像
public static double getArrayRechner(int[] a, int[] b) {
double result = 0;
if (a != null && b != null && a.length == b.length) {
result = IntStream.of(a).sum() + IntStream.of(b).sum();
System.out.println("Fast geschafft");
}
System.out.println("the result is " + result);
return result;
}
Java数组中没有用于添加的重载。您有两个
int[]
实例,可以使用IntStream
获得sum()
(假设您使用的是Java 8+)。并且,请遵循Java命名约定。看起来像
public static double getArrayRechner(int[] a, int[] b) {
double result = 0;
if (a != null && b != null && a.length == b.length) {
result = IntStream.of(a).sum() + IntStream.of(b).sum();
System.out.println("Fast geschafft");
}
System.out.println("the result is " + result);
return result;
}
我认为Java不支持使用+操作将两个数组的内容添加到一起。我将遍历这两个数组并将所有内容相加
public static double ArrayRechner(int[] arrayEins, int[] arrayZwei) {
double ergebniss = 0;
if (arrayEins.length == arrayZwei.length) {
for (int X = 0; X < arrayEins.length; X++) {
ergebniss += arrayEins[X] + arrayZwei[X];
}
}
return ergebniss;
}
公共静态双数组技术(int[]arrayEins,int[]arrayZwei){
双ergebnis=0;
if(arrayEins.length==arrayZwei.length){
对于(int X=0;X
我认为Java不支持使用+操作将两个数组的内容添加到一起。我将遍历这两个数组并将所有内容相加
public static double ArrayRechner(int[] arrayEins, int[] arrayZwei) {
double ergebniss = 0;
if (arrayEins.length == arrayZwei.length) {
for (int X = 0; X < arrayEins.length; X++) {
ergebniss += arrayEins[X] + arrayZwei[X];
}
}
return ergebniss;
}
公共静态双数组技术(int[]arrayEins,int[]arrayZwei){
双ergebnis=0;
if(arrayEins.length==arrayZwei.length){
对于(int X=0;X
Java不支持运算符重载
public static double ArrayRechner(int[] a, int [] b) {
double result = 0.0;
if (a.length > 0 && a.length == b.length) {
int sumOfA = Arrays.stream(a).sum();
int sumOfB = Arrays.stream(b).sum();
result = sumOfA + sumOfB;
System.out.println("Fast geschafft");
}
System.out.println("the result is " + result);
return result;
}
Java不支持运算符重载
public static double ArrayRechner(int[] a, int [] b) {
double result = 0.0;
if (a.length > 0 && a.length == b.length) {
int sumOfA = Arrays.stream(a).sum();
int sumOfB = Arrays.stream(b).sum();
result = sumOfA + sumOfB;
System.out.println("Fast geschafft");
}
System.out.println("the result is " + result);
return result;
}
您可以通过使用for循环迭代两个数组中的每个元素来计算总和。这是一种直观易懂的方法
if (a.length == b.length) {
for (int i = 0; i < a.length; i++) {
result += a[i] + b[i];
}
System.out.println("Fast geschafft");
}
if(a.length==b.length){
for(int i=0;i
您可以通过使用for循环迭代两个数组中的每个元素来计算总和。这是一种直观易懂的方法
if (a.length == b.length) {
for (int i = 0; i < a.length; i++) {
result += a[i] + b[i];
}
System.out.println("Fast geschafft");
}
if(a.length==b.length){
for(int i=0;i
工作代码:
public class Aufgabe7 {
public static int result = 0;
public static int ArrayRechner(int[] a, int[] b) {
if (a.length == b.length) {
for (int i = 0; i < a.length; i++) {
result = result + a[i] + b[i];
}
System.out.println("Fast geschafft");
}
return result;
}
public static void main(String args[]) {
int a[] = { 1, 1, 1 };
int b[] = { 2, 2, 2 };
System.out.println(ArrayRechner(a, b));
}
}
公共类Aufgabe7{
公共静态int结果=0;
公共静态int-ArrayRechner(int[]a,int[]b){
如果(a.length==b.length){
for(int i=0;i
工作代码:
public class Aufgabe7 {
public static int result = 0;
public static int ArrayRechner(int[] a, int[] b) {
if (a.length == b.length) {
for (int i = 0; i < a.length; i++) {
result = result + a[i] + b[i];
}
System.out.println("Fast geschafft");
}
return result;
}
public static void main(String args[]) {
int a[] = { 1, 1, 1 };
int b[] = { 2, 2, 2 };
System.out.println(ArrayRechner(a, b));
}
}
公共类Aufgabe7{
公共静态int结果=0;
公共静态int-ArrayRechner(int[]a,int[]b){
如果(a.length==b.length){
for(int i=0;i
您可以调用sum()
而不是reduce(0,Integer::sum)
您可以只调用sum()
而不是reduce(0,Integer::sum)代码>