Retornar valor da string atraves de um metodo

12 respostas
dfarias

Olá, pessoal.
como é que faz para retornar o conteudo de uma String.

/*
 7. Elabore um programa utilizando procedimento e/ou funções que, a partir de um
vetor com, no máximo, 10 nomes de cidades, possibilite:
a. A digitação dos elementos do vetor
b. A busca uma determinada cidade
c. A retirada de uma cidade da lista (verificando primeiro se ela está
cadastrada)
 */
package questao07;
import java.util.Scanner;


/**
 * @author daniel
 */
public class Main {

    public static void main(String[] args) {
        // TODO code application logic here

        Scanner x = new Scanner (System.in);


        // vetor recebe os nomes das cidades
        String cidade[]=new String[3];

    

        for (int i=0; i<cidade.length; i++){
        System.out.println("Informe nome da cidade "+(i+1));
        cidade[i]=x.next();


                                           }
        
        System.out.println("Informe nome da cidade para busca ");
        String procura=x.next();


    
        //resultado
       
        System.out.println(busca_nome(procura));
    // problema está aqui.. nao sei retornar String
                                                }
    
    
    public static String busca_nome(String cidade, String procura) {
       
       
        
        if (procura.equals(cidade)) {
               procura=cidade;
              
                                       }
        
        return(procura);
                                
                                                    }




}// fim da classe main
>

12 Respostas

mateuscs

Irei passar somente a lógica, vc tem que tentar para aprender.

Recomendo criar uma classe cidade. Nao tenha medo, use e abuse de java, aproveite os conceitos orientado a objetos para tal tipo.
Utilize de metodos get and set.
Nome, Estado, Pais.

Ira criar um novo objeto Cidade na classe main.

Vector<Cidade> Ex.

A busca deve ser feita de forma a percorrer todos os objetos que estão no seu vetor de objetos Cidade(Nome).
para String, Utilize equals.

dfarias

o erro persiste

/*
 7. Elabore um programa utilizando procedimento e/ou funções que, a partir de um
vetor com, no máximo, 10 nomes de cidades, possibilite:
a. A digitação dos elementos do vetor
b. A busca uma determinada cidade
c. A retirada de uma cidade da lista (verificando primeiro se ela está
cadastrada)
 */
package questao07;
import java.util.Scanner;


/**
 * @author daniel
 */
public class Main {

    public static void main(String[] args) {
        // TODO code application logic here

        Scanner x = new Scanner (System.in);


        // vetor recebe os nomes das cidades
        String cidade[]=new String[3];


        for (int i=0; i<cidade.length; i++){
        System.out.println("Informe nome da cidade "+(i+1));
        cidade[i]=x.next();


                                           }

        System.out.println("Informe nome da cidade para busca ");
        String procura=x.next();



        //resultado

        busca_nome(cidade, procura);
    // problema está aqui.. nao sei retornar String
                                                }
    
    
    public static void busca_nome(String cidade, String procura) {
       
       
        
        if (procura.equals(cidade)) {
               procura=cidade;
              
                                       }
        System.out.println(procura);
        
                                
                                                                    }




}// fim da classe main
>
mateuscs

dfaria
vc nao fez uma parte do que disse.
Posso te ajudar se começar a realmente programar em Java.

dfarias

mateuscs, e ainda não cheguei nessa parte de criar classes. Caso eu utilize uma classe diferente o professor não vai aceitar.

Eu devo fazê-la utilizando funções ou procedimentos.

Obrigado pela atenção

mateuscs

Qual materia que você esta estudando atualmente ?

dfarias

cara… Java básico.

Funções e procedimentos .

mateuscs

Beleza kara, desculpe, mais enganei-me, pensei que era OO.
Vou fazer um algortimo pra ti aqui.

leandronsp
  1. seu problema não é não saber retornar uma string

  2. um problema é que você definiu um método de busca que recebe 2 argumentos mas você está passando apenas 1. Mas acredito que foi um erro quando você colou na caixa de mensagem

  3. outro problema é que você deve passar o array de String pro método de busca, e dentro do método, iterar por este array verificando se a cidade buscada está contida nele. Algo assim:

public static String busca_nome(String[] cidades, String procura) {
        for(String cidade: cidades) {
            if (procura.equals(cidade)) {
                 return cidade;
            }
        }
        return "Cidade " + procura + "não encontrada.";
    }
mateuscs
package func;

import java.util.Scanner;

public class MainClass {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		
		int i = 0;
		int y = 0;
		String[] cidade = new String[10];
		String pesquisa;
		String[] nomePesquisa = new String[10];
		
		Scanner scan = new Scanner(System.in);
		
		for(i=0;i<10;i++){
			System.out.println("Digite o nome da cidade número "+i+": ");
			cidade[i] = scan.nextLine();
		}
		
		for(i=0;i<10;i++){
			System.out.println(cidade[i]);
		}
		System.out.println("Digite a cidade que deseja pesquisar");
		pesquisa = scan.nextLine();
		for(i=0;i<10;i++){
			if(pesquisa.equals(cidade[i])){
				y = y+1;				
				nomePesquisa[i] = cidade[i];			
			}
			else{
				nomePesquisa[i]="";
			}
		}
		if(y==0){
			System.out.println("Nao foi possivel encontrar nenhuma cidade com o nome da busca");
		}
		else{
		System.out.println("Numero Cidades encontradas "+y);
		for(i=0;i<nomePesquisa.length;i++){
			if(nomePesquisa[i].equals(null)){
				nomePesquisa[i]="";				
			}
			else{
				System.out.println(nomePesquisa[i]);
			}
		}
		}
		
		

	}

}

ESTUDE, NAO COPIE.>

mateuscs

Esta no básico, recomendo debugar para ver o que acontece com cada informação.
Como esta sendo tratado os nulls do vetor,
não fiz vetores dinamicos para você aprender como funciona.

Como disse, nao copie, debugue desde a primeira sysout ate o final da classe para melhor entendimento.

dfarias

vlw cara!!!

:arrow: obrigado !

mateuscs

Por nada, estamos a disposição.

Desculpe a critica, mais tomare que soe construtiva.

Parceiro(a), POO, em Java é ótimo pra aprendizagem, vc pode fazer metodos, funcoes e outros, mais experimente as vantagens de orientada a objetos.
Comente com seu professor se pode implementar esses exercicios utilizando da forma OO.
A forma de programação que fizemos no exemplo, não tem orientação nenhuma(de certa forma), e nao é tão apropriado em Java utlizar desse meio de construção.

Obs: Leia as regras do forum, poste [Resolvido]

Obrigado

Criado 15 de julho de 2011
Ultima resposta 15 de jul. de 2011
Respostas 12
Participantes 3