This is the program code.
When compiling, the following happens: the compiler performs the cycle once, and the second time it gives out such an error:
enter numbers to calculate
Middle arithmetic !!!
Number 1: 123123
Exception in Thread “Main” java.util.Inputmismatchexception: Radix 1
Less Than Character.min_Radix at java.util.scanner.nextint (Unknown
Source) at ex1_1.main (ex1_1.java:13)
if I replace int ch = sc.nextint (a + 1) on int ch = sc.nextint () , then there will be an infinite cycle
Enter the numbers to calculate
Middle arithmetic !!!
number 1: 1
number 1: 2
number 1: 4
number 1: 3
number 1: 5
number 1: 7
number 1: 8
number 1: 5
number 1: 4
Number 1:
Answer 1, Authority 100%
As for me, here is the wrong use of the Nextint () method
sc.nextint ()
– Method for obtaining an intention of a set of a character obtained from the presented flow
SC.NEXTINT (INT RADIX)
– Method for obtaining a smart view of a set of a symbol obtained from the presented stream in the SS based on the NexTint (int Radix) method parameter
To solve the problem simply replaced int CH = SC.NEXTINT (A + 1)
on int CH = SC.NEXTINT ()
Yes, and the cycle did not finish the first iteration, since after the first call nextint ()
throws the exception of inputmismatchexception
and the method is forced to interrupt and throw an exception.
Answer 2, Authority 14%
Public Static Void Main (String [] Args) {
Scanner SC = NEW Scanner (System.in);
System.out.PrintLN ("Enter the numbers to calculate \ Nixed arithmetic !!!");
int a = 0;
INT SUMM = 0;
While (True) {
System.Out.print ("Number" + (A + 1) + ":");
int ch = sc.nextint ();
if (ch == 0) {
Break;
}
Summ + = CH;
a ++;
}
int i = Summ / A;
int j = Summ% A;
if (Summ% a == 0)
System.Out.printLN ("Answer:" + I);
ELSE.
System.out.PrintLN ("Answer:" + i + "with the residue:" + j);
SC.Close ();
}
So everything works. The error was in SC.NEXTINT (A + 1) and in the logic of the program