Не ми тръгва програмата

Здравейте,
Не ми тръгва следното
public class Main1 {
public static void main(String[] args) {
System.out.printf(“My age is %d, 17”);
}
}
“C:\Program Files\Java\jdk-11.0.9\bin\java.exe” “-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2.2\lib\idea_rt.jar=61244:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2.2\bin” -Dfile.encoding=UTF-8 -classpath “C:\Users\issed\IdeaProjects\Main1Java\out\production\Hello World” Main1
My age is Exception in thread “main” java.util.MissingFormatArgumentException: Format specifier ‘%d’
at java.base/java.util.Formatter.format(Formatter.java:2672)
at java.base/java.io.PrintStream.format(PrintStream.java:1053)
at java.base/java.io.PrintStream.printf(PrintStream.java:949)
at Main1.main(Main1.java:3)
Благодаря

Позабравил\а сте да дефинирате годините с променлива!
Другия вариант е просто директно да се изпишат в Syste.out.print реда, т.е.:
public class Main1 {
public static void main(String[] args) {
int years = 17;
System.out.printf(“My age is %d", years);
}
}
или
public class Main1 {
public static void main(String[] args) {
System.out.println(“My age is 17”); // едва ли това ти е идеята, съдейки по това, което сте написал\a
}
}

Успех!

import java.util.Scanner;
public class Main1 {
public static void main(String[] args) {
int years = 17;
System.out.printf(“My age is %d old, 17”);
}
}
“C:\Program Files\Java\jdk-11.0.9\bin\java.exe” “-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2.2\lib\idea_rt.jar=61834:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2.2\bin” -Dfile.encoding=UTF-8 -classpath “C:\Users\issed\IdeaProjects\Main1Java\out\production\Hello World” Main1
My age is Exception in thread “main” java.util.MissingFormatArgumentException: Format specifier ‘%d’
at java.base/java.util.Formatter.format(Formatter.java:2672)
at java.base/java.io.PrintStream.format(PrintStream.java:1053)
at java.base/java.io.PrintStream.printf(PrintStream.java:949)
at Main1.main(Main1.java:5)

Process finished with exit code 1
И така не става

Видях си грешката на предишното писмо, но и така не тръгва
import java.util.Scanner;
public class Main1 {
public static void main(String[] args) {
int years = 17;
System.out.printf(“My age is %d, years”);
}
}
“C:\Program Files\Java\jdk-11.0.9\bin\java.exe” “-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2.2\lib\idea_rt.jar=61871:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2.2\bin” -Dfile.encoding=UTF-8 -classpath “C:\Users\issed\IdeaProjects\Main1Java\out\production\Hello World” Main1
My age is Exception in thread “main” java.util.MissingFormatArgumentException: Format specifier ‘%d’
at java.base/java.util.Formatter.format(Formatter.java:2672)
at java.base/java.io.PrintStream.format(PrintStream.java:1053)
at java.base/java.io.PrintStream.printf(PrintStream.java:949)
at Main1.main(Main1.java:5)

Process finished with exit code 1

Привет,

  1. import java.util.Scanner; - изобщо не е необходим скенер за тази задача! Ще гръмне пак!
  2. System.out.printf(“My age is %d, years"); - ще гръмне и заради това. Ето как трябва да е изписано: System.out.printf(“My age is %d", years); - кавичките са след %d.

Направи ми впечатление, че са използвани някакви други кавички и с тях реда System.out.printf(“My age is %d", years); е в червено, т.е. и заради това ще вдигне грешка. Копирайте редовете от моето първо съобщение и ги пейстнете в Intellij.

Опитай да сложиш кавичката преди запетаята.
System.out.printf(“My age is %d", years);
Проверявай винаги как се изписва нещо и къде какви знаци има (или няма).

1 Like

Излезе. Благодаря

1 Like