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());
}
}
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();
}
}
Questo è il messaggio di errore:
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