Методы и подсчет в Java - PullRequest
       17

Методы и подсчет в Java

0 голосов
/ 05 апреля 2019

• Написать метод showCharacter, который принимает строку и позицию и выводит на экран символ в указанной позиции.

• Создать метод main, который запрашивает у пользователя строку и позицию,Если позиция длиннее, чем строка, или позиция отрицательная, он будет запрашивать у пользователя действительную позицию.Main будет вызывать showCharacter со строкой и позицией.

Код в Java Это то, что у меня есть, и это работает, и он работает, но когда я ввожу 0, он вылетит

  package com.company;
  import java.util.Scanner;
  public class Main {
  public static void showCharacter(String name, int pos) {
    System.out.println(name.charAt(pos-1));
}
public static void main(String[] args) {
    String word;
    int pos;
    Scanner kb = new Scanner(System.in);
    System.out.println("Please enter a word");
    word = kb.nextLine();


    while (true) {
        System.out.println("Please enter a position. ");
         pos = kb.nextInt();

        if (pos >=0 && pos < word.length()) {

            break;
        }
        System.out.println("Invalid Option. Try again.");

    }

    showCharacter(word, pos);

    }}

Ответы [ 2 ]

0 голосов
/ 05 апреля 2019

В showCharacter () System.out.println(name.charAt(pos-1))

Изменить на pos >=1 Если пользователь вводит позицию = 0, вернитесь с неверной позицией

0 голосов
/ 05 апреля 2019

Вам нужно будет вычесть 1 из позиции следующим образом:

showCharacter(word, pos - 1);

Причина этого в том, что индексы в большинстве языков программирования начинаются с0 и представляет первое значение в массиве.Например, вычитая 1 из вашей входной позиции, вы получите 0, когда входное значение равно 1, и вы получите первое значение в массиве любого типа данных.

...