Boa tarde pessoal!
Sou iniciante em java e meu professor me deu o seguinte exercicio:
Desenvolva uma classe em java que receba um nome e dois números e depois escreva as letras que aparecem entre as posições informadas. Nos dois números. Exemplo:
- Se for informado ?Escola? 2 5 o resultado será cola
- Se for informado ?Maria Jose de Souza? 6 9 o resultado será Jose
vou postar aqui o meu código:
[code]package exercicio04;
import java.util.Scanner;
public class Main {
public static void main ( String[] args ) {
Scanner sc1 = new Scanner(System.in);
System.out.println("Informe um nome");
String pv1 = sc1.next();
Scanner sc2 = new Scanner(System.in);
System.out.println("Informe o primeiro valor");
int pv2 = sc2.nextInt();
Scanner sc3 = new Scanner(System.in);
System.out.println("Informe o segundo valor");
int pv3 = sc3.nextInt();
System.out.println("Os caracteres do intervalo correspondente aos valores informado são " + pv1.substring(pv2-1, pv3));
}
}[/code]
só que ta com um pequeno problema, não sei se o exemplo que o professor passou esta errado, ou se o meu exercicio esta errado, pois quando digito o exemplo que ele passou, o da escola o meu aparece somente scol
será que alguém pode me ajudar?
Use o nextLine.
Bom, agora você terar que ler, a partir da posição inicial, até a posição final passada pelo usuário, ler caracter a caracter e salvar em uma variável auxiliar, o método para ler um caracter em uma determinada posição é o charAt(int i) onde i é a posição que deseja ler!
Tenta aí qualquer coisa posta os avanços com possíveis dúvidas!
Você está usando o substring e subtraindo -1 do primeiro número fornecido pelo usuário, esse método inclui o 1º parâmetro recebido e exclui o 2º.
Logo: escola vai da posição 0 até a posição 5
E o usuário passando 2 (-1) e 5 irá pegar ‘s’ (letra na posição 1 inclusa) até a letra ‘a’ (letra na posição 5 exclusa) saindo então scol. Suponho que o certo para o que você quer é somar +1 no segundo número fornecido pelo usuário.
Flw
coloquei o nextLine na string la em cima
e tirei o -1 do primeiro e coloquei +1 no segundo e deu certo!
valeu mesmo!
obrigado
String pv1 = sc1.nextLine();
Não sabia que você podia usar o substring no exercício, pensei que tivesse que implementar algo na mão eheheheh
então thiago, eu ja tinha mudado os valores do substring la embaixo do segundo numero pra +1
ele dava certo no exemplo da escola, mas quando eu tentava colocar o segundo exemplo que ele passou dava pau!
ai coloquei o nextLine que voce falou na string e deu certo!
[quote=thiago.correa]
Não sabia que você podia usar o substring no exercício, pensei que tivesse que implementar algo na mão eheheheh[/quote]
Tá escrito no primeiro post dele o substring (System.out.println("Os caracteres do intervalo correspondente aos valores informado são " + pv1.substring(pv2-1, pv3)); ) Mas tá bem no meio do código que pode realmente passar despercebido. 