Estou engatinhando nessa nova linguagem maravilhosa, desculpem a pergunta ingênua mas gostaria de saber se em java tem como fazer isso.
Por exemplo:
Em portugol eu posso dizer:
Escreva "Digite duas idades: "
Leia id1,id2
Com isso o usuário digitaria as duas idades separadas por vírgula. Em Java como poderia fazer isso? (Já tentei com ',' e com o concatenador '+')
Isso me ajudaria pois eu economizaria linhas de código:
importjava.util.Scanner;publicclassEx01{/* * Autor: Damião Rodrigues Oliveira - Março de 2008 - LISTA DE EXERCÍCIOS 04 * * Utilizei um operador de incremento. Qualquer dúvida sobre este tipo de * operador consulte a página: * http://muitomaisfacil.blogspot.com/2008/03/operadores-em-java.html */publicstaticvoidmain(String[]args){intid1,id2,id3,id4,id5,id6,id7,id8,id9,id10;inttotal=0;Scannerentrada=newScanner(System.in);System.out.print("Insira a 1ª idade: ");id1=entrada.nextInt();System.out.print("Insira a 2ª idade: ");id2=entrada.nextInt();System.out.print("Insira a 3ª idade: ");id3=entrada.nextInt();System.out.print("Insira a 4ª idade: ");id4=entrada.nextInt();System.out.print("Insira a 5ª idade: ");id5=entrada.nextInt();System.out.print("Insira a 6ª idade: ");id6=entrada.nextInt();System.out.print("Insira a 7ª idade: ");id7=entrada.nextInt();System.out.print("Insira a 8ª idade: ");id8=entrada.nextInt();System.out.print("Insira a 9ª idade: ");id9=entrada.nextInt();System.out.print("Insira a 10ª idade: ");id10=entrada.nextInt();if(id1>=18){++total;}if(id2>=18){++total;}if(id3>=18){++total;}if(id4>=18){++total;}if(id5>=18){++total;}if(id6>=18){++total;}if(id7>=18){++total;}if(id8>=18){++total;}if(id9>=18){++total;}if(id10>=18){++total;}System.out.println("O total de pessoas com idade igual ou superior a 18 anos é: "+total);}}
Desde já agradeço a colaboração e o apoio!
Até logo,
Olá,
pelo que eu entendi, vc quer que o usuário digite as suas 10 idades em uma única linha usando um separador como a “,”. O que vc tem que fazer é ler essa string que vai ser entrada pelo usuário e depois trata-la. Eu sugiro que vc use a classe StringBuffer. com ela vc poderá tratar essa string facilmente. Ela possui um monte de métodos práticos e bem intuitivos. É só da uma lida na descrição de cada método (se estiver usando netbeans ou outro ide que as mostra :), senão procura na internet ).
t+
W
WillyKocher
po cara o java aqui no trampo é 1.4 tem nem como eu testar esse codigo. =(
mas eu jurava que o Scanner funcionava do jeito que vc diz ter tentado tipo:
Stringinput="19 23 45 5 10; Scanner sc = new Scanner(input); while (sc.hasNextInt()) { int idade = sc.nextInt();//faz os ifs aqui }//imprime resultado aqui
bastando apenas existir um caractere entre os inteiros, ja serviria como delimitador natural para o metodo nextInt(), virgula ,espaço ou qualquer coisa,
mas tenta ae por um espaço entre as duas ou mais idades como no meu exemplo, pena eu não poder testar aqui.
rodrigosan171
Ok. Pessoal.
Muito obrigado pelas dicas.
Abçs,
nicoweda
É simples, recebe as idades que o cara digitou separadas por , com o Scanner mesmo.
Depois pega essa String que deve vir algo como “10,18,23,24,32,43,19,15,23,13” e da um spli usando como regex a virgula.
Como sugerido acima, você pode fazer isso com a classe Scanner (se é que entendi o que vc quer fazer rs);
Escrevi um código bem simples aqui, que vc tbm consegue ler e mostrar idades veja:
publicstaticvoidmain(String[]args){Stringidade1=JOptionPane.showInputDialog("digite uma idade");Stringidade2=JOptionPane.showInputDialog("digite a outra idade");JOptionPane.showMessageDialog(null,"Primeira idade é : "+idade1);JOptionPane.showMessageDialog(null,"Segunda idade é: "+idade2);}
É claro que vc pode colocar isso dentro de um for, while, etc… ai vai de como exatamente você precisa se sua aplicação seja, qualquer coisa posta ai.
Espero ter ajudado
abraço!
rodrigosan171
nicoweda:
É simples, recebe as idades que o cara digitou separadas por , com o Scanner mesmo.
Depois pega essa String que deve vir algo como “10,18,23,24,32,43,19,15,23,13” e da um spli usando como regex a virgula.
Poxa nicoweda é isso mesmo vou testar amanhã q agora tenho q ir para o serviço…
Obrigado.
rodrigosan171
haroldojribeiro:
Como sugerido acima, você pode fazer isso com a classe Scanner (se é que entendi o que vc quer fazer rs);
Escrevi um código bem simples aqui, que vc tbm consegue ler e mostrar idades veja:
publicstaticvoidmain(String[]args){Stringidade1=JOptionPane.showInputDialog("digite uma idade");Stringidade2=JOptionPane.showInputDialog("digite a outra idade");JOptionPane.showMessageDialog(null,"Primeira idade é : "+idade1);JOptionPane.showMessageDialog(null,"Segunda idade é: "+idade2);}
É claro que vc pode colocar isso dentro de um for, while, etc… ai vai de como exatamente você precisa se sua aplicação seja, qualquer coisa posta ai.
Espero ter ajudado
abraço!
Amigo haroldojribeiro valew pela dica do JOptionPane… esse recurso eu já sabia utilizar… mas usando o JOptionPane e teria que fazer da mesma forma que postei… ou seja criar várias linhas para pegar cada idade…
Ja com a dica do nicoweda eu posso pegar estas idades tudo numa linha só separadas por vírgula, isso agiliza o processo… =D
Muito obrigado pela dica!
pissurno
split é o que há… rsrsrsrs
rodrigosan171
Colegas,
Muito obrigado pelas dicas aprendi usar coisas nova já! hehehe
Bom para solucionar aquele primeiro post utilizei uma coisa bem simples... estrutura condicional... e os meus problemas acabaram-se heehehe
Logo abaixo segue o código:
importjava.util.Scanner;publicclassEx01{/* * Autor: Damião Rodrigues Oliveira - Março de 2008 - LISTA DE EXERCÍCIOS 04 * * Utilizei um operador de incremento. Qualquer dúvida sobre este tipo de * operador consulte a página: * http://muitomaisfacil.blogspot.com/2008/03/operadores-em-java.html */publicstaticvoidmain(String[]args){intid,total=0,cont;Scannerentrada=newScanner(System.in);for(cont=1;cont<11;cont++){System.out.print("Insira a "+cont+"ª idade: ");id=entrada.nextInt();if(id>=18){++total;}}System.out.println("O total de pessoas com idade igual ou superior a 18 anos é: "+total);}}
Abraços,
E mais uma vez obrigado pela atenção dispendida.
Mr_Smith
Pessoal !! Boa noite é sobre algoritmo Kruskal, é que estou fazendo um trabalho de um mapa de uma região e precisaria saber, como posso andar por todos as cidades(vértices), sem fechar ciclo, ai preciso pegar as menores arestas.
Valew!