Galera, não entendi muito bem. Olhem só, eu estou usando o Eclipse, e estamos fazendo tudo usando System.out.println e Scanner pra ler, eu to lendo uma lista de pessoas e quero quemeu CPF não aceite letras. Meu CPF não está em JTextField.
public class Pessoa {
private Pessoa proximo;
private String nome;
private String endereço;
private String CPF;
public String getEndereço() {
return endereço;
}
public void setEndereço(String endereço) {
this.endereço = endereço;
}
public String getCPF() {
return CPF;
}
public boolean setCPF(String cPF) {
this.CPF = cPF;
if((this.CPF!=null)&&(this.CPF.length()==11)){
return true;
}
else{
return false;
}
}
public Pessoa(){
this.proximo = null;
this.nome = "";
this.CPF = "";
}
public Pessoa getProximo() {
return proximo;
}
public void setProximo(Pessoa proximo) {
this.proximo = proximo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String toString() {
return this.getNome();
}
}
import java.io.*;
public class Lista {
File arquivo = new File("/Users/MaYcKoN/Desktop/Lista.csv");
private Pessoa primeiro;
public Lista() {
this.primeiro = null;
}
public void inserir(Pessoa pessoa) {
if (this.primeiro == null)
this.primeiro = pessoa;
else {
Pessoa iterador;
for (iterador = this.primeiro; iterador.getProximo() != null; iterador = iterador
.getProximo());
iterador.setProximo(pessoa);
}
}
public void remover() {
if (this.primeiro != null) {
this.primeiro = this.primeiro.getProximo();
}
}
public Pessoa getPrimeiro() {
return primeiro;
}
public void setPrimeiro(Pessoa primeiro) {
this.primeiro = primeiro;
}
public void removerNoFinal() {
Pessoa iterador;
if (this.primeiro != null) {
if (this.primeiro.getProximo() == null) {
this.primeiro = null;
return;
}
}
iterador = this.primeiro;
for (; iterador.getProximo() != null; iterador = iterador.getProximo()) {
if (iterador.getProximo().getProximo() == null) {
iterador.setProximo(null);
break;
}
}
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class Principal {
public static void main(String args[]) {
File arquivo = new File("/Users/MaYcKoN/Desktop/Lista.csv");
Scanner input = new Scanner(System.in);
Lista StudentsGold = new Lista();
Pessoa iterador;
int op;
do {
System.out.println("Digite 1 para inserir uma pessoa na Lista");
System.out
.println("Digite 2 para remover uma pessoa no inicio da Lista");
System.out
.println("Digite 3 para remover uma pessoa no final da Lista");
System.out.println("Digite 4 para mostrar a Lista");
System.out.println("Digite 5 para gravar a Lista");
System.out.println("Digite 6 para recuperar a Lista");
System.out.println("Digite 0 para sair");
op = input.nextInt();
input.useDelimiter("\n");
switch (op) {
case 1:
System.out.println("Digite o nome da Pessoa");
iterador = new Pessoa();
iterador.setNome(input.next());
System.out.println("Digite o endereço da Pessoa");
iterador.setEndereço(input.next());
System.out.println("Digite o CPF, apenas números.");
iterador.setCPF(input.next());
StudentsGold.inserir(iterador);
break;
case 2:
StudentsGold.remover();
break;
case 3:
StudentsGold.removerNoFinal();
break;
case 4:
if (StudentsGold.getPrimeiro() != null) {
for (iterador = StudentsGold.getPrimeiro(); iterador
.getProximo() != null; iterador = iterador
.getProximo()){
System.out.println("Nome: "+iterador.getNome()+"\nEndereço: "+iterador.getEndereço()+"\nCPF: "+iterador.getCPF());
System.out.println();
}
System.out.println("Nome: "+iterador.getNome()+"\nEndereço: "+iterador.getEndereço()+"\nCPF: "+iterador.getCPF());
System.out.println();
} else
System.out.println("Lista Vazia");
break;
case 5:
try {
FileWriter escrever = new FileWriter(arquivo);
BufferedWriter buffer = new BufferedWriter(escrever);
if (StudentsGold.getPrimeiro() != null) {
buffer.write(StudentsGold.getPrimeiro().getNome()+" ");
buffer.write(StudentsGold.getPrimeiro().getEndereço()+" ");
buffer.write(StudentsGold.getPrimeiro().getCPF()+ " ");
buffer.newLine();
for (iterador = StudentsGold.getPrimeiro(); iterador.getProximo() != null; iterador = iterador
.getProximo()) {
buffer.write(iterador.getProximo().getNome());
buffer.write(StudentsGold.getPrimeiro().getEndereço()+" ");
buffer.write(StudentsGold.getPrimeiro().getCPF()+ " ");
buffer.newLine();
}
buffer.flush();
}
} catch (IOException e) {
e.printStackTrace();
}
break;
case 6:
try {
FileReader ler = new FileReader(arquivo);
BufferedReader buffer = new BufferedReader(ler);
String str=null;
while ((str = buffer.readLine())!= null) {
Pessoa p = new Pessoa();
p.setNome(str); // por enquanto to recuperando só o nome.
StudentsGold.inserir(p);
}
} catch (IOException e) {
e.printStackTrace();
}
break;
}
} while (op != 0);
}
}
Fiz uma pequena verificação ali na Classe pessoa pra saber se o CPF tem 11 digitos ou não, mas nem cheguei a tratar bem isso. O que eu quero é que quando o cara for digitar uma letra, o programa não aceite, ou seja, ele vai digitar e não vai aparecer NADA, ele vai digitar apenas números e ele vai ter que digitar 11 números, se ele digitar menos, informo uma mensagem pra ele inserir 11 numeros.