Contar posicoes de um nome [RESOLVIDO]

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. :smiley: