Java 从main调用方法并将数组从一个类传递到另一个类
我面临着静态方法的障碍Java 从main调用方法并将数组从一个类传递到另一个类,java,arrays,methods,Java,Arrays,Methods,我面临着静态方法的障碍 我怎么称呼这个方法 如何将数组传递给另一个类,以便编辑数组 多谢各位 import java.util.Scanner; class getArray { public static void change(String x[]){ Scanner keyboard = new Scanner(System.in); String dayName[] = {"Monday","Tuesday","Wednesday","Thu
import java.util.Scanner;
class getArray {
public static void change(String x[]){
Scanner keyboard = new Scanner(System.in);
String dayName[] = {"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
String[] day = new String[7];
for(int i=0;i<7;i++){
System.out.print(dayName[i]+ " ");
day[i] = keyboard.nextLine();
String str = (dayName[i]+" "+day[i]);
x[i] = str;
}
System.out.println(" ");
for(int j=0;j<7;j++){
System.out.println(x[j]);
}
}
}
class toParse{//would parse the integer out from String[x]
}
class averageTemp{//calculate average of weather
}
public class UniSeven2 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
}
}
import java.util.Scanner;
类getArray{
公共静态无效更改(字符串x[]){
扫描仪键盘=新扫描仪(System.in);
字符串dayName[]={“星期一”、“星期二”、“星期三”、“星期四”、“星期五”、“星期六”、“星期日”};
字符串[]天=新字符串[7];
对于注释中指出的(inti=0;i),尝试不使用静态方法。也就是说:
import java.util.Scanner;
class getArray {
public String change(String x[]){
Scanner keyboard = new Scanner(System.in);
String dayName[] = {"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
String[] day = new String[7];
String str;
for(int i=0;i<7;i++){
System.out.print(dayName[i]+ " ");
day[i] = keyboard.nextLine();
str = (dayName[i]+" "+day[i]);
x[i] = str;
}
return str;
}
import java.util.Scanner;
类getArray{
公共字符串更改(字符串x[]{
扫描仪键盘=新扫描仪(System.in);
字符串dayName[]={“星期一”、“星期二”、“星期三”、“星期四”、“星期五”、“星期六”、“星期日”};
字符串[]天=新字符串[7];
字符串str;
对于(int i=0;i静态方法属于类本身,而不是由类创建的实例。因此,当从类外部调用静态方法时,您将在类级别调用它
那么,假设我们有以下内容
MyClass {
public static void myStaticMethod(int[] myIntArray) {
//Do something
}
public void myNonStaticMehtod(int[] myIntArray) {
//Do something
}
}
当从另一个类调用这些方法时,将通过以下方式调用它们
非静态方法
因为非静态方法属于类的给定实例,所以我们必须首先创建该类的实例并从该实例调用该方法
int[] myIntArray = new int[4];
MyClass myClass = new MyClass();
myClass.myNonStaticMethod(myIntArray);
静态方法
静态方法属于类本身,应该从类级别而不是从类的实例调用
int[] myIntArray = new int[4];
MyClass.myStaticMethod(myIntArray);
另一方面,您正在创建的类似乎应该是方法。从面向对象编程的角度考虑,类是对象(如汽车或人)的框架。该类的方法应该表示这些对象可以执行的某些操作。例如car.speedUp()加速汽车,或car.getSpeed(),它获取汽车的当前速度
希望这是有帮助的
编辑:添加数组作为方法参数,以帮助回答您的第二个问题。“我面临静态方法的障碍。”从未说过更真实的话。从不依赖它们开始。让getArray\change
返回结果数组。然后只需将数组传递给其他方法,就像你使用change
一样……请遵循并大写每个类名的第一个字母。你的帖子帮助我学到了更多关于方法的事情。这是很有见地的,但当时我不得不学习如何让静态方法在我的课堂上发挥作用。所以我没有选择。谢谢你的回答,比我查阅的任何一本书都更具描述性。这真的很有帮助。我希望我能给你投票,但我是这个网站的新手,不能给这个答案投票。谢谢!