Вы все вчера были настолько полезны, что преодолели мой первый горб в этой проблеме, что я хотел посмотреть, можно ли изменить мой конечный продукт (извинения, если мое форматирование выключено - все еще пытаюсь получить углубления исправить в моем IDEJava - Looping Number Strings
импорт javax.swing.JOptionPane;.
public class NumberLoops {
public static void main(String[] args) {
String strNum1;
String strNum2;
int intNum;
boolean isValid = true;
boolean isError = false;
strNum1 = JOptionPane.showInputDialog ("Enter Number String");
for (int i=0; i<strNum1.length(); i++) {
char c = strNum1.charAt(i);
if (c == '-'){
JOptionPane.showMessageDialog(null, "Negative Digit Found - Enter Positive Numbers Only", "Error", JOptionPane.INFORMATION_MESSAGE);
isValid = false;
break;
}
}
if (isValid){
for (int i=0; i<strNum1.length(); i++) {
char c = strNum1.charAt(i);
intNum = Character.getNumericValue(c);{
if (intNum > 0 && intNum <= 9){
isError = true;
break;
}
}
}
}
if (isError){
int aDigit,totalNum=0;
char chDigit;
strNum2 = String.valueOf(strNum1);
for (int count=0; count<strNum1.length();count++){
chDigit = strNum2.charAt(count);
aDigit = Character.getNumericValue(chDigit);
totalNum += aDigit;
if (aDigit > 0 && aDigit <= 9){
System.out.print(aDigit + " ");
}
}
System.out.print(" " + "The sum is: " + totalNum);
}
}
}
Мой вопрос касается последнего цикла она функционирует в соответствии с пожеланиями печатей на консоль, если я вхожу сказать 123123 в строку сообщения,. он перечисляет эту строку как 1 2 3 1 2 3, а затем общее число 12.
Но это в самой консоли. То, что я пытаюсь обойти, заключается в том, чтобы отобразить его в окне сообщения вместо консоли.
Я предполагаю, что мне нужно, чтобы создать новую строку, как (входящего псевдокоде):
if (aDigit > 0 && aDigit <= 9){
strNum3 = everycharinStr2 + " "
Какая часть я предполагаю, что я не хватать.
FYI, это домашнее задание, поэтому я не обязательно хочу прямой ответ, но я чувствую, что настолько близок, что мне нужны дополнительные глаза, чтобы увидеть, есть ли что-нибудь, что я могу сделать. (Я читал о массивах и т. Д., Но мы пока не находимся, поэтому я не думаю, что пока еще не пройду по этой дороге.)
Неверное имя переменной 'isError'. Вы устанавливаете 'isError' в' true' и выходите, если число от 1 до 9 включительно. Затем вы показываете цифры и суммируете, если для параметра 'isError' установлено значение' true'. Очень смущает. Если бы я должен был догадаться, то, что вы действительно хотите сделать, это установить 'isError' в' true', если вы столкнулись с символом, который НЕ находится между 1 и 9 включительно, а затем отображает только числа и сумму, если 'isError' является' false' , –
Ах, я только заметил, что после того, как вернулся с обеда и посмотрел на то, что у меня было. Вы правы, это сбивает с толку! Я исправлю это. Фактически предполагается, что ошибка будет только в том случае, если число не находится между 1 и 9. –