package Exercises;
import java.util.Scanner;
public class ArrayPlusN {
public static void createArray(int indeces){
Scanner in = new Scanner(System.in);
int valueAdded, y = 0;
int[] arraySet = new int[indeces];
for(int i = 0; i < arraySet.length; i++){
System.out.printf("Enter element #%s: ",i+1);
arraySet[i] = in.nextInt();
}
System.out.println("These are the elements in your array: ");
for(int i:arraySet){
System.out.printf("%s ", i);
}
System.out.println("");
System.out.print("Enter a number to add in each of your Array's element: ");
valueAdded = in.nextInt();
System.out.println("These are the elements in your array when we added "+ valueAdded + " to each: ");
for(int i:arraySet){
arraySet[y]=i+valueAdded;
System.out.printf("%s ", i+valueAdded);
y++;
}
}
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int indeces;
System.out.print("Enter how many array index/indeces you want: ");
indeces = in.nextInt();
createArray(indeces);
}
}
首先,我正在尝试编写一个程序,通过获取用户输入的用户想要创建的索引数、所述数组的元素以及要添加到所述数组上的值,在数组中的每个元素上添加一个值。这段代码没有错误,虽然你可以复制粘贴它,但我问我是否可以将其作为 OOP 来完成。我不认为这是OOP,有人可以帮忙吗?我的意思是我想将每个方法上的所有这些功能分开,这可能吗?我尝试过,但我似乎不知道如何从另一个方法调用另一个变量。我想要创建 createArray、fillArray 和 addElement 方法,使其看起来更加 OOP,而不是仅仅创建 1 个包含其中所有函数的 createArray。
最佳答案
下面是定义 main()、createArray()、fillArray() 和 addElement() 方法的代码;按需要的顺序调用方法并以您想要的方式完成任务。
package Exercises;
import java.util.Scanner;
public class ArrayPlusN {
static int arraySet[];
public void createArray(int indeces){
Scanner in = new Scanner(System.in);
int valueAdded, y = 0;
arraySet = new int[indeces];
}
public static void main(String[] args){
Scanner in = new Scanner(System.in);
ArrayPlusN object=new ArrayPlusN();
int indeces;
System.out.print("Enter how many array index/indeces you want: ");
indeces = in.nextInt();
object.createArray(indeces);
object.fillArray();
object.addElement();
}
public void fillArray(){
Scanner in=new Scanner(System.in);
for(int i=0;i<arraySet.length;i++){
System.out.println("Enter element number "+(i+1));
arraySet[i]=in.nextInt();
}
System.out.println("The elements of your array are");
for(int i:arraySet)
System.out.print(i+" ");
System.out.println();
}
public void addElement(){
Scanner in=new Scanner(System.in);
System.out.println("Enter value to be added to each element");
int valueAdded = in.nextInt();
int y=0;
System.out.println("These are the elements in your array when we added "+ valueAdded + " to each: ");
for(int i:arraySet){
arraySet[y]=i+valueAdded;
System.out.printf("%s ", i+valueAdded);
y++;
}
}
}
arraySet 数组被声明为全局静态数组。所有方法都声明为public void。这些数组在 main() 方法中按顺序调用 ArrayPlusN 类的对象 object 并完成工作。希望对您有帮助。
关于java - 如何在这个数组操作的Java程序中定义不同的所需方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36250016/