J'ai un programme que j'ai déjà créé en Java qui a plusieurs méthodes qui demandent une entrée utilisateur.Envoi d'une sortie d'un programme java avec des méthodes pour le fichier
Voici le programme:
static Scanner numberscanner = new Scanner(System.in);
static Integer[] houses = {0,1,2,3,4,5,6,7};
public static void main(String[] args)
{
askForCrates();
getTotal();
int max = houses[0];
getMin();
getMaxHouse(max);
//Display the house number that recycled the most
}
//asks for the crates for each specific house number
public static void askForCrates()
{
for (int i = 0; i < houses.length; i++)
{
System.out.println("How many crates does house " + i + " have?") ;
Integer crates = numberscanner.nextInt();
houses[i] = crates;
}
}
//uses a for statement to get the total of all the crates recycled
public static void getTotal()
{
//Get total
Integer total = 0;
for (int i = 0; i < houses.length; i++)
{
total = total + houses[i];
}
System.out.println("Total amount of recycling crates is: " + total);
}
//Displays and returns the max number of crates
public static Integer getMax(Integer max)
{
for (int i = 0; i < houses.length; i++)
{
if(houses[i] > max)
{
max = houses[i];
}
}
System.out.println("Largest number of crates set out: " + max);
return max;
}
// gets the house numbers that recycled the most
// and puts them in a string
public static void getMaxHouse(Integer max)
{
ArrayList<Integer> besthouses = new ArrayList<Integer>();
String bhs = "";
for (int i = 0; i < houses.length; i++)
{
if(houses[i].equals(max))
{
besthouses.add(houses[i]);
}
}
for (Integer s : besthouses)
{
bhs += s + ", ";
}
System.out.println("The house(s) that recycled " + max + " crates were: " + bhs.substring(0, bhs.length()-2));
}
// gets the minimum using the Arrays function to sort the
// array
public static void getMin()
{
//Find the smallest number of crates set out by any house
Arrays.sort(houses);
int min = houses[0];
System.out.println("Smallest number of crates set out: " + min);
}
} // probably the closing '}' of the class --- added by editor
Le programme fonctionne très bien, mais maintenant je veux prendre toute la sortie, y compris l'entrée des utilisateurs et de mettre cette sortie dans un fichier.
J'ai vu des façons de le faire avec BufferedWriter
et FileWriter
et je comprends comment cela fonctionne avec l'entrée et la sortie en utilisant le lecteur. Sauf dans les exemples de programmes que j'ai vus, aucun de ces programmes n'a de méthode.
Je peux réécrire mon programme sans méthodes ou les modifier pour retourner l'entrée au lieu d'être annulé et en utilisant System.println
. Mais je me demandais s'il y avait un moyen d'envoyer toute la sortie de mon programme dans un fichier sans avoir à réécrire mon programme?