0
Why 1st one is not compile but 2nd one is working ?
import java.util.Scanner; public class Program { public static void main(String[] args) { Scanner kb=new Scanner(System.in); double dollar=71.58*new Scanner(System.in).nextDouble(); double pesos=3.85*new Scanner(System in).nextDouble (); System.out.println(dollar<pesos ? "dollar" : "Pesos"); } } //_----------------------------------- import java.util.Scanner; public class Program { public static void main(String[] args) { Scanner kb=new Scanner(System.in); double dollar=71.58*kb.nextDouble(); double pesos=3.85*kb.nextDouble (); System.out.println(dollar<pesos ? "dollar" : "Pesos"); } }
5 Answers
0
I think it has something to do with the fact that the code playground does not allow multiple scanners.
It is more a sololearn issue. Both codes should work using another ide.
+ 1
You forget dot after System in line #7
+ 1
@Shubham
Ok
Then fix your first part code in the post, since without a dot after System (on line # 7) it will not compile in any way.
The code (if dot exists) should compile as it is valid.
But it can not work, because you create Scanner with System.in several times. First Scanner may not be destroyed, so it will not close its handle ( System.in). In that case the next Scanner will not get that handle at the moment of creation
0
Though both should work fine but I don't see the need of the reference variable 'kb' of type Scanner in the 1st code.
0
I didn't forget when I wrote so I used to write System.in