Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

scoelli

Listar strings de array

Recommended Posts

scoelli

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;

Share this post


Link to post
Share on other sites
mundo

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 by mundo

Share this post


Link to post
Share on other sites
HappyHippyHippo

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

Share this post


Link to post
Share on other sites
HappyHippyHippo
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

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.