将 setter 和 getter 添加到数组,创建 for 循环方法并赋值
Add setters and getters to an array , create a for-loop method and assign values
我是 Java 的新手。我在 class 中创建了一个数组,并为其创建了 setter 和 getter。
public class Calculation{
private int[] data;
private int size;
public int[] getData() {
return data;
}
public void setData(int[] data) {
this.data = data;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
}
并且我使用数组创建了一个循环方法。但是它的输出是1。
方法,
public int ProductOfArray(int data[], int size){
int product = 1;
for (int i =1; i <= getSize(); i++) {
product = product * this.data[i];
}
return product;
}
主要,
System.out.println("Enter size: ");
int size = num.nextInt();
cal1.setSize(size);
System.out.println("Enter elements of array: ");
[] myArray = new int[size];
for(int i=0; i<size; i++) {
myArray[i] = num.nextInt();
}
System.out.println(cal2.ProductOfArray(myArray, size));
当我 运行 这个程序时,它显示最后的输出为 1。它不计算用户输入。
正如 Thomas 提到的,您需要将 Calculation 实例中的数据(在本例中我为 cal1 这样做)设置为您从 for 循环中读入的数据。这是您可以做到的一种方法:
import java.util.Scanner;
public class TestCalc {
public static void main(String[] args) {
Scanner num = new Scanner(System.in);
System.out.println("Enter size: ");
int size = num.nextInt();
Calculation cal1 = new Calculation();
cal1.setSize(size);
System.out.println("Enter elements of array: ");
int [] myArray = new int[size];
for(int i=0; i<size; i++) {
myArray[i] = num.nextInt();
}
cal1.setData(myArray); //Here is where you set the int array field of the object.
System.out.println(cal1.ProductOfArray(myArray, size));
}
}
class Calculation {
private int[] data;
private int size;
public int[] getData() {
return data;
}
public void setData(int[] data) {
this.data = data;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public int ProductOfArray(int data[], int size) {
int product = 1;
for (int i = 1; i < getSize(); i++) {
product = product * this.data[i];
}
return product;
}
}
注意:我已将 class 放在与 main 方法相同的文件中。您可能有一个单独的文件,您可以将此 class 内容复制并粘贴到其中以使其正常工作。我还更改了 for 循环的边界(从 <=getSize()
到 <getSize()
),这样您就不会出现越界错误。
输出:
Enter size:
5
Enter elements of array:
1
2
3
4
5
120
我是 Java 的新手。我在 class 中创建了一个数组,并为其创建了 setter 和 getter。
public class Calculation{
private int[] data;
private int size;
public int[] getData() {
return data;
}
public void setData(int[] data) {
this.data = data;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
}
并且我使用数组创建了一个循环方法。但是它的输出是1。 方法,
public int ProductOfArray(int data[], int size){
int product = 1;
for (int i =1; i <= getSize(); i++) {
product = product * this.data[i];
}
return product;
}
主要,
System.out.println("Enter size: ");
int size = num.nextInt();
cal1.setSize(size);
System.out.println("Enter elements of array: ");
[] myArray = new int[size];
for(int i=0; i<size; i++) {
myArray[i] = num.nextInt();
}
System.out.println(cal2.ProductOfArray(myArray, size));
当我 运行 这个程序时,它显示最后的输出为 1。它不计算用户输入。
正如 Thomas 提到的,您需要将 Calculation 实例中的数据(在本例中我为 cal1 这样做)设置为您从 for 循环中读入的数据。这是您可以做到的一种方法:
import java.util.Scanner;
public class TestCalc {
public static void main(String[] args) {
Scanner num = new Scanner(System.in);
System.out.println("Enter size: ");
int size = num.nextInt();
Calculation cal1 = new Calculation();
cal1.setSize(size);
System.out.println("Enter elements of array: ");
int [] myArray = new int[size];
for(int i=0; i<size; i++) {
myArray[i] = num.nextInt();
}
cal1.setData(myArray); //Here is where you set the int array field of the object.
System.out.println(cal1.ProductOfArray(myArray, size));
}
}
class Calculation {
private int[] data;
private int size;
public int[] getData() {
return data;
}
public void setData(int[] data) {
this.data = data;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public int ProductOfArray(int data[], int size) {
int product = 1;
for (int i = 1; i < getSize(); i++) {
product = product * this.data[i];
}
return product;
}
}
注意:我已将 class 放在与 main 方法相同的文件中。您可能有一个单独的文件,您可以将此 class 内容复制并粘贴到其中以使其正常工作。我还更改了 for 循环的边界(从 <=getSize()
到 <getSize()
),这样您就不会出现越界错误。
输出:
Enter size:
5
Enter elements of array:
1
2
3
4
5
120