【发布时间】:2016-10-11 16:53:58
【问题描述】:
我想制作电话簿。
使用“contains(OBJECT)==TRUE”方法在“while”循环中无法识别执行和放置两个相同的对象。
我的代码哪里出错了?感谢任何帮助谢谢!
主要
public class MainRubrica {
public static void main(String[] args) {
Scanner keyb= new Scanner(System.in);
System.out.print("Inserire il numero di contatti da aggiungere: ");
int nM= keyb.nextInt();
Vector<Contatto> rubrica = new Vector<Contatto>(20, 5);
for(int i=0;i<nM;i++){
System.out.println("\nContatto n."+(i+1));
Contatto c =new Contatto();
c.inserimento();
while(rubrica.contains(c)==true) {
System.out.println("Il contatto è già presente");
c.inserimento();
}
rubrica.addElement(c);
}
for(int i=0;i<nM;i++){
System.out.println("\nContatto n."+(i+1));
System.out.println(rubrica.elementAt(i));
}
班级联系方式
public class Contatto {
//attributi
private String nome;
private String cognome;
private String numeroTel;
//costruttore di default
public Contatto(){
nome="";
cognome="";
numeroTel=""; }
//costruttore con parametri
public Contatto(String nome, String cognome, String numeroTel){
this.nome=nome;
this.cognome=cognome;
this.numeroTel=numeroTel; }
//metodo set
public void setNome(String nome){
this.nome=nome; }
public void setCognome(String congnome){
this.cognome=cognome; }
public void setNumeroTel(String numeroTel){
this.numeroTel=numeroTel; }
//metodo get
public String getNome(){
return nome; }
public String getCognome(){
return cognome; }
public String getNumeroTel(){
return numeroTel; }
//metodo inserimentoContatto
public void inserimento(){
Scanner keyb= new Scanner(System.in);
System.out.println("Nome: ");
nome=keyb.nextLine();
System.out.println("Cognome: ");
cognome=keyb.nextLine();
System.out.println("Numero di telefono: ");
numeroTel=keyb.nextLine();
}
public String toString(){
return "Nome: "+nome+"\nCognome: "+cognome+"\nNumero di Telefono: "+numeroTel;
}
}
【问题讨论】:
-
它做错了什么?预期结果和实际结果是什么?
-
严肃的问题:谁或什么告诉你使用
Vector?它的用途是discouraged since Java 1.2,它是released in 1998。