scoelli Posted December 1, 2012 at 08:58 AM Report #485313 Posted December 1, 2012 at 08:58 AM Ola Estou a tentar fazer um editor de texto em java e nao consigo parar a inserção de linhas por inserção de linha vazia, alguem me poderá dar uma dica? int maxlinhas=100; String[][] linhas=new String[maxlinhas][]; int fim=0; char opcao; do{ System.out.println("Leitor 1.0"); System.out.println("(i)nserir linhas no fim (termine com uma linha vazia)"); System.out.println("(l)Listar linhas"); System.out.println("(a)pagar última linha)"); System.out.println("(e)ditar"); System.out.println("(p)esquisar"); System.out.println("(c)ontar"); System.out.println("(s)air"); System.out.println("Escolha uma Opção: "); opcao=input.next().charAt(0); switch (opcao){ //switch opcao inserir linhas no fim case 'i': System.out.println("introduza uma frase"); do{ String[]linha=input.nextLine().split(" "); linhas[fim]=linha; fim++; }while(????????);
brunoais Posted December 1, 2012 at 01:26 PM Report #485316 Posted December 1, 2012 at 01:26 PM Indenta o código, sff. "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
scoelli Posted December 1, 2012 at 02:32 PM Author Report #485318 Posted December 1, 2012 at 02:32 PM O que estarei a fazer mal? Escrevo linhas de texto mas, não consigo que pare quando a linha é vazia do{ String[]linha=input.nextLine().split(" "); linhas[fim]=linha; }while(!linhas[fim].equals(null));
HappyHippyHippo Posted December 1, 2012 at 05:16 PM Report #485337 Posted December 1, 2012 at 05:16 PM quantos elementos terá o array linhas quando se leu uma linha vazia ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
scoelli Posted December 1, 2012 at 05:40 PM Author Report #485340 Posted December 1, 2012 at 05:40 PM o utilizador escreve as linhas que quiser Mas, no inicio defeni 100: int maxlinhas=100; String[][] linhas=new String[maxlinhas][]; int fim=0;
brunoais Posted December 2, 2012 at 02:36 PM Report #485414 Posted December 2, 2012 at 02:36 PM Basicamente estás a abordar o problema de uma forma errada. Tens que usar o hasNextLine para saber se o input já acabou. Podes tb forçar para ser no máximo 100 linhas nesse ciclo. "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
HappyHippyHippo Posted December 2, 2012 at 02:37 PM Report #485417 Posted December 2, 2012 at 02:37 PM o utilizador escreve as linhas que quiser Mas, no inicio defeni 100: int maxlinhas=100; String[][] linhas=new String[maxlinhas][]; int fim=0; não respondeste à minha pergunta IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
scoelli Posted December 2, 2012 at 07:00 PM Author Report #485456 Posted December 2, 2012 at 07:00 PM È um editor de texto por isso nunca se sabe quantos elementos terá porque o utilizador pode escrever uma linha, duas, so uma frase, no inicio defeni como maximo 100
brunoais Posted December 2, 2012 at 07:40 PM Report #485459 Posted December 2, 2012 at 07:40 PM Basicamente estás a abordar o problema de uma forma errada. Tens que usar o hasNextLine para saber se o input já acabou. Podes tb forçar para ser no máximo 100 linhas nesse ciclo. "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
HappyHippyHippo Posted December 2, 2012 at 08:28 PM Report #485468 Posted December 2, 2012 at 08:28 PM vamos lá a ver ... quantos elementos terá o array linhas quando se leu uma linha vazia ? String[]linha=input.nextLine().split(" "); È um editor de texto por isso nunca se sabe quantos elementos terá porque o utilizador pode escrever uma linha, duas, so uma frase, no inicio defeni como maximo 100 o array linha está a ser preenchido com o valor lido, linha a linha !!!! por isso a tua resposta não faz sentido agora podes verificar o que foi lido (que era a resposta que daria se seguisses a linha de pensamento correcto à minha pergunta) ou podes fazer como o @brunoais referiu, verificar se existe alguma coisa a ler ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
scoelli Posted December 4, 2012 at 05:42 AM Author Report #485654 Posted December 4, 2012 at 05:42 AM (edited) Ola Relativamente aos elementos, temos 2 arrays: o primeiro [] é o numero de linhas que o utilizador vai escrever, neste caso 100; o segundo[] é o numero de palavras que terá cada linha. Já consegui sair do primeiro ciclo mas, agora não sei como (l) listar nem (a)apagar case 'i': System.out.println("introduza o texto"); do{ String linha[]=input.nextLine().split(" "); linhas[fim]=linha; fim++; }while(!input.nextLine().equals(" ")); break; case 'l': for (int i=0; i<linhas.length; i++) { for (int j=0; j<linhas[i].length; j++) System.out.println(linhas[i][j]); // só imprime a ultima linha e dá java.lang.NullPointerException } break; case 'a': ????? break; Edited December 23, 2012 at 02:02 PM by apocsantos
HappyHippyHippo Posted December 4, 2012 at 09:21 AM Report #485659 Posted December 4, 2012 at 09:21 AM System.out.println(linhas[i][j]); // só imprime a ultima linha e dá java.lang.NullPointerException acho estranho estar a dar esse tipo de excepção, mas deverá ser por estares a gravar a entrada vazia IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
scoelli Posted December 23, 2012 at 09:40 AM Author Report #488146 Posted December 23, 2012 at 09:40 AM Ola Continuo a não conseguir listar todas as linhas do array, le apenas a última, não consigo perceber porque: import java.util.Scanner; public class P1_TP2_EI_SandraCoelli { public static void main(String[] args) { Scanner input = new Scanner(System.in); String[][] linhas=new String[100][]; int fim=0; char opcao; do{ System.out.println("Leitor 1.0"); System.out.println("(i)nserir linhas no fim (termine com uma linha vazia)"); System.out.println("(l)Listar linhas"); System.out.println("(a)pagar ultima linha)"); System.out.println("(e)ditar"); System.out.println("(p)esquisar"); System.out.println("(c)ontar"); System.out.println("(s)air"); System.out.println("Escolha uma Opção: "); opcao=input.next().charAt(0); switch (opcao){ //switch INSERIR LINHAS case 'i': System.out.println("introduza o texto"); do{ String linha[]=input.nextLine().split(" "); linhas[fim]=linha; fim++; }while(!input.nextLine().equals(" ")); break; //switch LISTAR LINHAS case 'l': for (int i=0; i<fim; i++) { for (int j=0; j<linhas[i].length; j++){ System.out.print(linhas[i][j]); } System.out.println(); } break;
HappyHippyHippo Posted December 23, 2012 at 12:06 PM Report #488154 Posted December 23, 2012 at 12:06 PM porque razão tens de separar as palavras existentes na linha ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
joaquimfrancisco23 Posted November 18, 2015 at 01:28 PM Report #589851 Posted November 18, 2015 at 01:28 PM Alguem tem este programa editor de texto java 1.0 completo????Se tiverem e me o puderem passar agradecia
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now