Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么可以';我不能在main方法中调用私有变量吗?_Java_Variables_Object_Main - Fatal编程技术网

Java 为什么可以';我不能在main方法中调用私有变量吗?

Java 为什么可以';我不能在main方法中调用私有变量吗?,java,variables,object,main,Java,Variables,Object,Main,该代码应该在输入对话框中接收全名字符串示例“Billy Bob Smith”,并在消息对话框中以字母组合示例“BBS”的形式输出首字母。但是由于某些原因,main方法不允许我访问fullName变量 import javax.swing.*; public class HardMonogram { //---------- ATTRIBUTES ----------// private String fullName; private String monogra

该代码应该在输入对话框中接收全名字符串示例“Billy Bob Smith”,并在消息对话框中以字母组合示例“BBS”的形式输出首字母。但是由于某些原因,main方法不允许我访问fullName变量

import javax.swing.*;

public class HardMonogram {
     //---------- ATTRIBUTES ----------//
     private String fullName;
     private String monogram;
     private String first;
     private String middle;
     private String last;


     //---------- METHODS ----------//
     public String getInitial(String seperateName) {
           return seperateName.substring(0, 1);
     }

     public void getSeperateName(String fullName) {
           first  = fullName.substring(0, fullName.indexOf(" "));
           middle = fullName.substring(fullName.indexOf(" ") + 1, fullName.length());
           last   = middle.substring(middle.indexOf(" ") + 1, middle.length());
           middle = middle.substring(0, middle.indexOf(" "));
     }

    public void setMonogram() {
          monogram = getInitial(first)  +
                     getInitial(middle) +
                     getInitial(last);

    JOptionPane.showMessageDialog(null, monogram);
    }

    public static void main(String[] args) {
           myMono.fullName = JOptionPane.showInputDialog(null, "Type in you full name");

           HardMonogram myMono = new HardMonogram();
           myMono.getSeperateName(myMono.fullName);
           myMono.setMonogram();

    }


}
给了我这个构建错误

/Users/aaron/School/Fall 2012/CSCI-C 201/Labs/LB08/HardMonogram.java:33: error: cannot find symbol
    myMono.fullName = JOptionPane.showInputDialog(null, "Type in you full name");
    ^
symbol:   variable myMono
location: class HardMonogram
1 error
[Finished in 1.2s with exit code 1]
这是我对java类的介绍,但我不知道为什么我不能访问变量。我显然忽略了什么。有什么想法吗?

更新:

在再次阅读问题之后,您只需要在实例创建之后移动main方法中的第一行

       HardMonogram myMono = new HardMonogram();
       myMono.fullName = JOptionPane.showInputDialog(null, "Type in you full name");
       myMono.getSeperateName(myMono.fullName);
       myMono.setMonogram();
更新:

在再次阅读问题之后,您只需要在实例创建之后移动main方法中的第一行

       HardMonogram myMono = new HardMonogram();
       myMono.fullName = JOptionPane.showInputDialog(null, "Type in you full name");
       myMono.getSeperateName(myMono.fullName);
       myMono.setMonogram();

简单地说,
myMono.fullName=JOptionPane.showInputDialog(null,“输入您的全名”)在对象声明之后(
HardMonogram myMono=new HardMonogram();
)。

只需将
myMono.fullName=JOptionPane.showInputDialog(null,“键入全名”)HardMonogram myMono=new HardMonogram();
)。

myMono没有在主方法的第一行声明。把它加到开头

public static void main(String[] args) {
      HardMonogram myMono = new HardMonogram();
      myMono.fullName = JOptionPane.showInputDialog(null, "Type in you full name");
      myMono.getSeperateName(myMono.fullName);
      myMono.setMonogram();

}

MyMono尚未在主方法的第一行声明。把它加到开头

public static void main(String[] args) {
      HardMonogram myMono = new HardMonogram();
      myMono.fullName = JOptionPane.showInputDialog(null, "Type in you full name");
      myMono.getSeperateName(myMono.fullName);
      myMono.setMonogram();

}

我在main方法中创建了myMono作为对象?我做错什么了吗?myMono.GetSeparateName调用在我注释出fullName callIssue是main方法中的第一个语句时没有给我错误,你正在尝试分配myMono.fullName,在实例创建后移动到。yea bullum做了那个注释我是个白痴不知道为什么我认为我可以将它放在对象创建之上。谢谢大家@萨夫斯托姆:是的,经常发生。祝你好运别忘了接受答案。我在main方法中创建了myMono作为一个对象?我做错什么了吗?myMono.GetSeparateName调用在我注释出fullName callIssue是main方法中的第一个语句时没有给我错误,你正在尝试分配myMono.fullName,在实例创建后移动到。yea bullum做了那个注释我是个白痴不知道为什么我认为我可以将它放在对象创建之上。谢谢大家@萨夫斯托姆:是的,经常发生。祝你好运别忘了接受答案,你可以的。你有不同的问题。查看错误消息。您可以。你有不同的问题。请参阅错误消息。