Как найти расстояние между двумя буквами. программа Java
У меня есть вопрос, в котором мне нужно найти расстояние между буквами.
например: если входные буквы-A и E
При попытке добраться до E из A нам нужно пересечь B C D. Следовательно, количество букв между E и A равно 3. Расстояние - это количество букв между E и A + 1, которое равно 4.
Я написал код следующим образом:
Я получил ответ на некоторые входные данные. Но я получил неправильный ответ для W A
Что я уже пробовал:
import java.lang.Character; import java.util.Scanner; public class Main { public static void main(String[] args)throws Exception { Scanner in=new Scanner(System.in); char a=in.next().charAt(0); char d=in.next().charAt(0); System.out.println(Math.abs(Character.toLowerCase(a)-Character.toLowerCase(d))); } }
[no name]
У вас есть к нам вопрос, в котором мы могли бы вам помочь с домашним заданием?
Member 12781602
Для входа W A мне нужно получить 4 в качестве выхода, а не 22. Как я должен редактировать, чтобы сделать это так?
[no name]
Используйте свой отладчик, чтобы выяснить, почему вы получаете 4, а CPallini получает 22.
[no name]
Подождите минутку, я только что перечитал ваше заявление. Почему вы думаете, что расстояние между W и A составляет только 4, а не 22? Либо вы чего-то не договариваете, либо неправильно поняли домашнее задание.
Richard MacCutchan
Насколько я понимаю, алфавит W имеет более высокое значение, чем A, поэтому ваш алгоритм выдаст отрицательное число. Продолжайте оттуда.
Member 12781602
Вот почему я использовал abs ().
Richard MacCutchan
И вот почему ответ-22.
CPallini
Я пробовал вашу программу
вход: W, A
выход: 22
Это выглядит правильным для меня.
Member 12781602
За этот вход я должен получить 4.
CPallini
Это означает, что вы должны подумать о том, чтобы обернуться вокруг. Смотрите мое решение.