J'essaye d'écrire un programme simple qui a 2 classes, une avec des méthodes d'ensemble, et l'autre avec la méthode principale exécutable.
Première classe:
import java.util.ArrayList;
public class Practice
{
private String firstName;
private String lastName;
ArrayList<Double> sales = new ArrayList<Double>();
public Practice(String firstName, String lastName)
{
this.firstName = firstName;
this.lastName = lastName;
}
public void setFirstName(String firstName)
{
this.firstName = firstName;
}
public String getFirstName()
{
return firstName;
}
public void setLastName(String lastName)
{
this.lastName = lastName;
}
public String getLastName()
{
return lastName;
}
public void addSales(double sale)
{
sales.add(sale);
}
public ArrayList<Double> returnSales()
{
return sales;
}
}
Classe principale:
import java.util.Scanner;
public class PracticeExecutable {
public static void main(String[] args)
{
double sale;
String firstName;
String lastName;
Scanner input = new Scanner(System.in);
System.out.println("Please Enter first name: ");
firstName = input.nextLine();
System.out.println("Please Enter last name: ");
lastName = input.nextLine();
Practice employee = new Practice(firstName, lastName);
do
{
System.out.println("Please enter sale amount or -1 to quit: ");
sale = input.nextDouble();
if(sale == -1)
break;
}while(sale != -1);
employee.addSales(sale);
input.close();
System.out.println("Name: " + employee.getFirstName() + " " +
employee.getLastName());
System.out.println("Sales: " + employee.returnSales());
}
}
J'essaie de transmettre l'entrée de l'utilisateur dans les ventes ArrayList, puis d'imprimer les ventes qui ont été entrées, mais il semble qu'il ne reconnaît que «-1» comme une vente. Je n'arrive pas à localiser le problème.
C'est parce qu'en boucle vous ne vérifiez que si la vente n'est pas valide et ne faites rien avec des valeurs de vente valides. Lorsque vous quittez la boucle (l'entrée de vente est -1), vous ajoutez cette mauvaise valeur à la liste. Pour changer ce simple mouvement employe.addSales (vente) en boucle comme ceci:
do {
System.out.println("Please enter sale amount or -1 to quit: ");
sale = input.nextDouble();
if(sale == -1) break;
employee.addSales(sale);
} while(sale != -1);
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots