2015-02-07 63 views
-3
public class Biblioteca { 
    String[] libros = {"Odisea", "Diccionario", "Historia", "Sociales", "Biblia"}; 
    String nombre; 
    Boolean[] disponible = {true, true, true, true, true}; 

    public Biblioteca(String a, String nombre) { 
     int i; 
     for (i = 0; i < libros.length; i++) { 
      if (a == libros[i] && disponible[i] == true) { 
       System.out.println("El libro esta disponible"); 
       disponible[i] = false; 
      } 
     } 
    } 
} 

矢量disponible[i]的变化,但如果我使用的方法与在主类另一个对象不改变,例如逻辑错误的Java的Eclipse

Biblioteca b1 = new Biblioteca("Bible", "Ana"); 
Biblioteca b2 = new Biblioteca("Bible", "Jacke"); 

的问题是说这个名字和书你需要的是,你必须看看这本书是否可用,如果是,那么这本书就不会再可用了,并且你将用户的名字保存在一个文件中。如果文件存在,您可以再次使用该书并删除该文件,并返回该书。

本本的阵列包含五个

libros = {"Odisea", "Diccionario", "Historia", "Sociales", "Biblia"}; 

有人能帮帮我,好吗?

+1

那么问题是什么? – Aify 2015-02-07 01:31:12

+0

@Aen the question is why'the disponible'array does not change ...我认为 – Typo 2015-02-07 01:32:48

+0

@Alejandro通过使用单个对象。 – immibis 2015-02-07 01:59:20

回答

1

因为您的类声明了实例变量,所以您只需为每个对象创建 这些变量的新副本。因此,您的图书馆的状态不会被维护。

您需要以这种方式为您的类建模,以便在所有对象中引用相同的数据结构。这是静态变量。使静态变得容易。

阅读实例变量和静态变量之间的差异。

+0

对于OP,检查单例模式:http://en.wikipedia.org/wiki/Singleton_pattern – Typo 2015-02-07 01:36:31

+0

你能帮助我吗?我需要创建另一个班级。或者是什么? – Alejandro 2015-02-07 01:36:51

+0

感谢你,我最终决定了它 – Alejandro 2015-02-07 01:38:54