люди. В моей программе я беру пользовательский ввод чисел типа String
и ставит dashes
между two odd numbers
. Например:Вставка тире между двумя нечетными номерами
Input = 99946 Output = 9-9-946
Input = 56730 Output = 567-30
Но в моем коде, если я, например, написать 9933444
тогда, что вывод я получаю это: 9-9-9-3-3-3-344444
. Он правильно отделяет нечетные числа тире, но также добавляет дополнительные номера. Что может быть причиной этой ошибки?
import java.util.Arrays;
import java.util.Scanner;
public class DashInsert {
public static void main(String[] args)
{
Scanner kbd = new Scanner(System.in);
System.out.println("Enter the numbers: ");
String myString = kbd.nextLine();
char[] numbers = myString.toCharArray();
String result = "";
for(int i = 1; i < numbers.length; i++)
{
int value1 = Character.getNumericValue(numbers[i]);
int value2 = Character.getNumericValue(numbers[i-1]);
if(value1 % 2 != 0 && value2 % 2 != 0)
{
result += numbers[i-1] + "-" + numbers[i] + "-";
}
else
result += numbers[i-1] + "" + numbers[i];
}
System.out.println(result);
}
}
Время использовать отладчик, не так ли? –
Это не отладка кода. Я понимаю, что это какое-то учебное упражнение. Если это так, то одна из вещей, которую вы должны изучать, - это отладить собственный код. Есть множество ресурсов, которые помогут вам начать работу; например http://www.vogella.com/tutorials/EclipseDebugging/article.html. Но самый важный ресурс - между ушами. Попытайтесь сделать это сами. –