Я знаю, что уже есть вопросы, задающие что-то похожее на мой вопрос, но, несмотря на их чтение, они не совсем делают то, что я хочу.Я создаю код, который принимает пользовательский ввод числа от 0 до 100 (включительно).Каким бы ни был номер, он напечатает все числа, ведущие к этому номеру и этому номеру
EX: пользовательский ввод = 25 выходных данных = 012345678910111213141516171819202122232425
у меня эта часть работает,Теперь я должен использовать эту строку и создать две новые строки, одну для нечетных, а другую для четных чисел.
EX: пользовательский ввод = 25 вывод: нечетные числа: 135791113151719212325 &четные числа = 024681012141618202224
Вот мой код на данный момент:
import java.util.Scanner;
public class OddAndEven{
public String quantityToString() {
Scanner number = new Scanner(System.in);
int n = number.nextInt();
String allNums = "";
if ((n >= 0) && (n <= 100)) {
for (int i = 0;i <= n; ++i)
allNums = allNums + i;
return allNums;
}
else {
return "";
}
}
public void oddAndEvenNumbers(int num) {//Start of second method
String allNums = ""; //String that quantityToString returns
String odd = "";
String even = "";
if ((num >= 0) && (num < 10)) { //Looks at only single digit numbers
for (int i = 0; i <= allNums.length(); i++) {
if (Integer.parseInt(allNums.charAt(i))%2 == 0) { //trying to get the allNums string to be broken into individual numbers to evaluate
even = even + allNums.charAt(i); //adding the even numbers of the string
}
else {
odd = odd + allNums.charAt(i);
}
}
}
else { //supposed to handle numbers with double digits
for (int i = 10; i <= allNums.length(); i = i + 2) {
if (Integer.parseInt(allNums.charAt(i))%2 == 0) {
even = even + allNums.charAt(i);
}
else {
odd = odd + allNums.charAt(i);
}
}
}
System.out.println("Odd Numbers: " + odd);
System.out.println("Even Numbers: " + even);
}
public static void main(String[] args) {
System.out.println(new OddAndEven().quantityToString());
//System.out.println(new OddAndEven().oddAndEvenNumbers(allNums));
//Testing
OddAndEven obj = new OddAndEven();
System.out.println("Testing n = 5");
obj.oddAndEvenNumbers(5);
System.out.println("Testing n = 99");
obj.oddAndEvenNumbers(99);
Я знаю, что моя проблема в той части, когда предполагается разбирать строку и оценивать отдельные числа, но я не знаю, что делать.(Я также пробовал substring () & trim ()) Также я еще не научился использовать массивы, поэтому я не пытался использовать массив.