Java 1.6:公共变量不起作用

时间:2013-11-29 04:54:05

标签: java eclipse string macos public

我是java的新手(大约1周),而且我仍然坚持使用一些代码。我到处寻找,但没有任何作用。我正在尝试将一个字符串从MainProgram类发送到FileWriter类。

MainProgram(主程序):

import java.util.*;

public class MainProgram {
    public static void main(String[] args){
        static answer;
        Scanner Input = new Scanner(System.in);
        System.out.println("Enter something so I can write it to a file");
        String answer = Input.nextLine();
        System.out.print("You said ");
        System.out.print(answer);

    }
}

FileWriter的:

import java.io.FileNotFoundException;
import java.io.PrintWriter;

public class FileWriter{
    public static void SaveList() throws FileNotFoundException{
            PrintWriter writer = new PrintWriter("OMGIMAFILELOLZ.txt");
            writer.println(answer);
            writer.close();

    }
}

无论我做什么,我都无法将答案字符串传递给FIleWriter类。请帮忙! BTW请不要让答案太复杂。我刚来自QBASIC,我只有12岁,所以请保持简单!

2 个答案:

答案 0 :(得分:1)

  1. 在这一行static answer;中你没有提到过 data type回答。
  2. main已经是一个静态块,所以你不能声明静态 main方法中的变量
  3. 在类级别中声明答案,如public static String answer;
  4. 类级语法

    public class MainProgram {
    public static String answer;//class level declaration
    public static void main(String args[])
    {
    //some codes
    }
    

答案 1 :(得分:0)

static answer;

首先缺少数据类型。

你不能在方法中声明字段。

那应该是

static String answer;
    public static void main(String[] args) { 
   //   answer = Input.nextLine();

然后在FileWriter班,

 writer.println(MainProgram.answer);