【问题标题】:java.lang.Error: Unresolved compilation problem:java.lang.Error:未解决的编译问题:
【发布时间】:2019-10-06 08:53:23
【问题描述】:

/* 一个使用属性列表的简单电话号码数据库 */

我在 Eclipse 中运行过这个程序很多次,但这显示了我未解决的编译问题

package phoneBook;

import java.io.*;

import java.io.File;

import java.util.Properties;

class meths


{       

    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

    FileInputStream fin=null;





    try {

        fin=new FileInputStream("PhoneBook.txt");

    }catch(FileNotFoundException e)

    {

        e.printStackTrace();

    }





    String name,number;

    Properties pr=new Properties();





    if(fin!=null)

    {

        try {

            pr.load(fin); fin.close();

        }catch(FileNotFoundException e)

        {

            e.printStackTrace();

        }

    }





    void find() throws IOException

    {       

        System.out.println("Enter name to find number");

        name=br.readLine();

        System.out.println("Number is:"+pr.getProperty(number));

    }




    void enter()

    {

        FileOutputStream fout=new FileOutputStream("PhoneBook.txt");

        System.out.println("Enter name and number:");

        name=br.readLine();number=br.readLine();



        pr.put(name, number);
        pr.store(fout, "Phone Boook");
    }


     void operation()
        {   

            BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
            int opt=0;
            System.out.println("1 for stop operation\n2 for enter new entry\n3 for searching number");


            while(opt!=1)
            {
                // Reading option
                try {
                    opt=br.read();
                } catch (IOException e) {
                    e.printStackTrace();
                }// Read opearation is complete


                switch(opt)
                {
                case 2: enter();    break;
                case 3: find();     break;
                }
            }
        }
}


public class PhoneBook 
{
    public static void main(String args[]) throws Exception
    {``
        meths ph=new meths();
        ph.operation();
    }
}

【问题讨论】:

  • 你有大量没有任何方法的代码。在您修复它之前,您的代码将无法正常运行。 eclipse 无论如何都会尝试运行它的事实无济于事。
  • 其实我是新来的学生。请你详细解释一下好吗?

标签: java eclipse sdk


【解决方案1】:

这是一个可能的更正:

package phoneBook;

import java.io.*;
import java.util.Properties;

class meths {
 BufferedReader br;
 FileInputStream fin;
 String name, number;
 Properties pr;
 File file;
 String path = "D:/PhoneBook.txt";

 public meths() {
    file = new File(path);
    pr = new Properties();
    br = new BufferedReader(new InputStreamReader(System.in));

    //If file doesn't exist, create it and load it
    if (!(file.exists() && file.canRead())){
        try {
            file.createNewFile();
        } catch (IOException e) {
            System.out.println("File can't be created");
        }
    }
        try {
            fin = new FileInputStream(file);
        } catch (FileNotFoundException e) {
            System.out.println("File can't be read");
        }

    // If file is not empty, load properties
    if (fin != null) {
        try {
            pr.load(fin);
            fin.close();

        } catch (IOException e) {
            System.out.println("Properties not loaded");
        }
     }
  }

 void find() throws IOException {
    System.out.println("\n>Enter name to find number:");
    name = br.readLine();
    System.out.println("Number is: " + pr.getProperty(name));
 }

 void enter() throws IOException {
    System.out.println("\n>Enter the name :");
    name = br.readLine();
    System.out.println("\n>Enter the number :");
    number = br.readLine();

    FileOutputStream fout = new FileOutputStream(file);

    pr.put(name, number);
    pr.store(fout, "Phone Boook");
 }

 void choice() throws IOException {
    System.out.println("\n>Enter your choice :");
 }

 public boolean isInteger(String chaine) {
    try {
        Integer.parseInt(chaine);
    } catch (NumberFormatException e) {
        return false;
    }
    return true;
  }

void operation() throws IOException {
    int opt = 0;

    System.out.println("1 for stop operation\n2 for enter new entry\n3 for searching number\n");

    while (opt != 1) {
        choice();
        String value = br.readLine();
        if (isInteger(value)) {
            opt = Integer.parseInt(value);
            switch (opt) {
            case 2:
                enter();
                break;
            case 3:
                find();
                break;
            }
         }
      }
   }
 }

 public class PhoneBook {

  public static void main(String args[]) throws Exception {
    meths ph = new meths();
    ph.operation();
  }
}

控制台视图:

文件:

最后,我要说的是,您必须学习基础知识才能了解类、构造函数、方法和成员的工作方式。

【讨论】:

    猜你喜欢
    • 2017-04-03
    • 1970-01-01
    • 2014-01-24
    • 2014-05-08
    • 2017-07-16
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    相关资源
    最近更新 更多