Je suis nouveau à Java alors merci d'avoir aidé!
public static void readFile (Scanner console, String file_input) throws FileNotFoundException { // Setting up new Scanner to scan the file Scanner input = new Scanner (file_input); // Prompt user for output file's name System.out.print("Output file name: "); String name_output = console.next(); PrintStream file_output = new PrintStream(new File(name_output)); System.out.println("YazLang program interpreted and output to .txt file!"); System.out.println(); while (input.hasNext()) { String value = input.nextLine().toLowerCase(); if (value.startsWith("convert")) { int concert_temp = convert(value); file_output.println(concert_temp); } else if (value.startsWith("range")) { range(value); } else if (value.startsWith("repeat")) { repeat(value); } } }
3 Réponses :
Pourquoi ne changez-vous pas la signature de code> méthode code> pour renvoyer puis écrivez le résultat du fichier dans ReadFile Code> Méthode comme ceci: p> int code>?
public static void readFile (Scanner console, String file_input) throws FileNotFoundException {
// omitted..
while (input.hasNext()) {
String value = input.nextLine().toLowerCase();
if (value.startsWith("convert")) {
int concert_temp = convert(value);
file_output.println(concert_temp);
} else if (value.startsWith("range")) {
// here
int concert_temp = range(value);
file_output.println(concert_temp);
} else if (value.startsWith("repeat")) {
repeat(value);
}
}
}
Parce que je veux toujours avoir la F / C à côté du résultat de la valeur.
Qu'est-ce que f / c ...?
Le type de température (Celsius ou Fahrenheit) puisqu'il s'agit d'une méthode de conversion.
Vous pouvez utiliser system.setout () ( HTTPS: //www.TutorialSpoint. com / java / lang / system_setout.htm ) Insérez cette ligne après la ligne 7 dans votre méthode ReadFile:
System.setOut(file_output);
Il y a deux options:
définir le Définissez une classe d'emballage qui écrira sur les deux flux: p> li>
ol> init imprimante: p> remplace maintenant chaque appel à imprimanteam code> dans la fonction la plus extérieure, puis transmettez-le à la fonction dont vous avez besoin. Passez à l'écriture au fichier à l'aide de
PrintStream :: Imprimer ... Code> Méthode. P> LI>
system.out.println code> avec: p>
TeeOutPutStream code>
LI>
ol> p>
Les méthodes d'annulation n'ont aucun résultat. Cela étant dit, vous n'avez pas besoin de retourner une valeur pour écrire dans un fichier. Qu'est-ce que vous rencontrez exactement? Juste pour dire: // Configuration du nouveau scanner pour lire le jeton du scanner de chaîne d'entrée de l'utilisateur = nouveau scanner (valeur); est un peu de non-sens.
J'ai testé votre code et il écrit pour déposer comme il se doit. Peut-être vérifier si votre dossier existe ou utilise du débogueur?