【发布时间】:2014-01-31 23:38:56
【问题描述】:
我正在尝试从 main 方法传递一个值并将其设置为私有变量。以下是相关的主要方法:
import java.util.*;
public class Experiment{
private static Extension extension=new Extension();
public static void main(String[] ars);{
Scanner input=new Scanner(System.in);
System.out.print("Enter the length: ");
int length=input.nextInt;
extension.messages(length); }
}
这就是它的特点:
public class Extension{
private int theLength;
public void Extension(int length){
theLength=length; }
public void setLength(int length){
theLength=length; }
public int getLength() {
return theLength }
public void messages(int length){
System.out.println("theLength: "+theLength);
System.out.println("Length: "+getLength(); }
}
我添加了额外的显示,因为我想查看该值是否正确传递。当我运行它时,我意识到它不是。尽管输入了不同的数字,theLength 和 length 都设置为零。谁能看到我做错了什么?我真诚地感谢一个彻底的回答(因为我刚刚开始)。
【问题讨论】:
-
你在哪里设置长度?
-
在主方法中。 [Scanner input=new Scanner(System.in);] 后跟 [int length=input.nextInt;]。我会输入一个数字(例如 4)。
-
因此将值 4 分配给局部变量
length。这与Extension对象中的theLength变量有什么关系? -
我明白你的意思。我回去编辑原始帖子。 theLength=长度;
-
除非你没有调用那些方法。
标签: java methods getter argument-passing