IntDoubleString 70/100


0

Здравейте колеги,

Моля за съдействие, тъй като не мога да разбера къде ми е проблема на кода, за да има резултат 100/100.

import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); String type = scanner.next(); switch(type){ case "integer" : System.out.println((scanner.nextInt() + 1)); break; case "real" : System.out.printf("%.2f", (scanner.nextDouble() + 1)); System.out.println(); break; case "text" : System.out.println((scanner.next() + "*")); } } }


в Java от k_kaneva (127 точки)


Отговори



2

Здравейте,

проблема идва, когато входа е ->

text

string with white space

Заменете next() с  nextLine() и мисля, че ще получите 100 точки.


от velev1 (10 точки)


0

Пробвах, колега, не става. С nextLine() програмата чете празен стринг от колзолата и залепва "*" към него.

Приложих следния фокус

System.out.println((scanner.next() + scanner.nextLine() + "*"));


от k_kaneva (127 точки)

0

Защо два пъти NextLine() ?

Оставете само едното ако има проблем сменете и преди switch - a.


от velev1 (10 точки)


-2
А какъв е пробелмът толкова че резултата ти е 70 точки а не 100. 



0

По-добре е да ползваш

Scanner in= new Scanner(System.in);
String n=in.nextLine();

if(n.contains("integer"){

   int intt=in.nextInt();
   System.out.println(intt+1);
}

и така нататък