Ciao a tutti,
sto studiando java e, nell'eseguire un programma che usa una classe e spiega l'uso dei metodi Get e Set, oltre che dei costruttori, e tutto sembrava funzionare, poi però durante l'esecuzione viene fuori un messaggio di errore e non riesco a risalire all'origine del problema.
Posto qui il codice e il messaggio di errore
codice://Classe Gradebook //Questa classe è uguale alla precedente Gradebook. E' stata //riscritta per testare l'apprendimento public class Gradebook { //Variabile private per l'uso esclusivo all'interno della classe private String courseName; //Inizializziamo il costruttore della classe public Gradebook(String name) { courseName = name; } //Metodo Get per restituire al chiamante il nome del corso public String getMessage() { return courseName; } //Metodo Set per impostare il nome del corso ricevuto dal chiamante public void setMessage(String name) { courseName = name; } //Metodo per visualizzare a video il messaggio relativo //al corso a cui si vuole partecipare public void displayMessage() { System.out.printf("Welcome to the % course", getMessage()); } }Questo è il messaggio di errore:codice://Classe Gradeboktest //Questa classe è uguale alla precedente Gradebooktest. E' stata //riscritta per testare l'apprendimento import java.util.Scanner; public class Gradebooktest { public static void main(String args[]) { //Dichiariamo le variabili e le classi con tanto di inizializzazione Scanner input = new Scanner(System.in); Gradebook myGradebook = new Gradebook("CS 101"); String nameOfCourse; //Restituiamo a video il nome iniziale del corso System.out.printf("The initial course name is set to: %s\n\n", myGradebook.getMessage()); //Prendiamo in input il nome del corso che passeremo alla classe //Gradebook tramite il metodo Set System.out.print("Enter the name of the course you want to join: "); nameOfCourse = input.nextLine(); myGradebook.setMessage(nameOfCourse); myGradebook.displayMessage(); } }
C:\java\Gradebook>javac *.java
C:\java\Gradebook>java Gradebooktest
The initial course name is set to: CS 101
Enter the name of the course you want to join: 102
Exception in thread "main" java.util.FormatFlagsConversionMismatchException: Con
version = c, Flags =
at java.util.Formatter$FormatSpecifier.failMismatch(U nknown Source)
at java.util.Formatter$FormatSpecifier.checkBadFlags( Unknown Source)
at java.util.Formatter$FormatSpecifier.checkCharacter (Unknown Source)
at java.util.Formatter$FormatSpecifier.<init>(Unknown Source)
at java.util.Formatter.parse(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.io.PrintStream.format(Unknown Source)
at java.io.PrintStream.printf(Unknown Source)
at Gradebook.displayMessage(Gradebook.java:32)
at Gradebooktest.main(Gradebooktest.java:25)
Un grazie anticipato a tutti![]()

Rispondi quotando

