scoelli Posted December 23, 2012 at 09:43 AM Report #488147 Posted December 23, 2012 at 09:43 AM Alguém me pode ajudar, quando escolho 'l' listar apenas lista a ultima linha que escrevi: 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;
mundo Posted December 23, 2012 at 11:43 AM Report #488152 Posted December 23, 2012 at 11:43 AM (edited) int fim=0; for(int i=0; i<fim;i++) // 0<0 que é false A tua condiçao no for é falsa por isso não entra no ciclo e não imprime nada, inicializa o fim a 1 Edited December 23, 2012 at 11:44 AM by mundo
HappyHippyHippo Posted December 23, 2012 at 12:08 PM Report #488155 Posted December 23, 2012 at 12:08 PM int fim=0; for(int i=0; i<fim;i++) // 0<0 que é false A tua condiçao no for é falsa por isso não entra no ciclo e não imprime nada, inicializa o fim a 1 ???? leste bem o código ???? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
mundo Posted December 23, 2012 at 12:22 PM Report #488156 Posted December 23, 2012 at 12:22 PM Pois realmente, peço desculpa realmente não tinha lido bem o código todo
HappyHippyHippo Posted December 23, 2012 at 12:41 PM Report #488158 Posted December 23, 2012 at 12:41 PM package com.simplegray.pap; import java.util.Scanner; public class Main { 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.nextLine().charAt(0); // nextLine para remover o caracter '\n' do buffer de entrada switch (opcao){ case 'i': System.out.println("introduza o texto"); boolean run; // marcador de fim de leitura do { String linha = input.nextLine(); // ler linha (completa) if (run = (linha.compareTo("") != 0)) // verificar se é linha vazia { linhas[fim]=linha.split(" "); // guardar a separação das palavras fim++; // incrementar o número de linhas guardadas } } while (run); // enquanto não for linha vazia break; 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; } } while (opcao != 's'); } } IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
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