2015-03-21 2 views
0
package cwk13g0; 
import java.util.Scanner; 


public class Cwk13g0 { 

    public static void main(String[] args) { 
    Scanner scan = new Scanner(System.in); 
    Taxpayer johnnyhopkins = new Taxpayer(scan.nextBoolean() , scan.nextBoolean() , scan.nextInt(),scan.nextInt()); 
    Taxpayer sloanketterin = new Taxpayer(scan.nextBoolean() , scan.nextBoolean() , scan.nextInt(),scan.nextInt()); 
    johnnyhopkins.reportTax(); 
    sloanketterin.reportTax(); 
    } 
} 

package cwk13g0; 

public class Taxpayer { 

    private int income; 
    private int age; 
    private boolean married; 
    private boolean veteran; 

    public Taxpayer() { 
    this.income = 0; 
    this.age = 0; 
    this.married = true; 
    this.veteran = false; 
} 

public Taxpayer(boolean m, boolean v, int i, int a) { 
    this(); 
    System.out.println("hello"); 
    this.setMarried(m); 

    this.setVeteran(v); 
    this.setIncome(i); 
    this.setAge(a); 
} 

// married accessor 
public boolean getMarried() { 
    return this.married; 
} 

// married mutator 
public void setMarried(boolean val) { 
    this.married = val; 
} 

// veteran accessor 
public boolean getVeteran() { 
    return this.married; 
} 

// veteran mutator 
public void setVeteran(boolean val) { 
    this.veteran = val; 
} 

// income accessor 
public int getIncome() { 
    return this.income; 
} 

// income mutator 
public void setIncome(int val) { 
    if (val > 0) { 
     this.income = val; 
    } 
} 

// age accessor 
public int getAge() { 
    return this.age; 
} 

// age mutator 
public void setAge(int val) { 
    if (val > -1 && val < 115) { 
     this.age = val; 
    } 
} 

// toString 
@Override 
public String toString() { 
    return "age: " + age + ", " + "income: " + income + ", " 
      + "married: " + married + ", " + "veteran: " + veteran + " "; 
} 

public int taxExemption() { 
    int val = income; 
    if (!married) { 
     val = val - 5000; 
     if (veteran) { 
      val = val - 3000; 
     } 
    } else { 
     val = val - 8000; 
    } 
    if (age > 65 || age < 12) { 
     val = val - 1000; 
    } 
    return val; 
} 

public double tax() { 
    double val = taxExemption(); 
    if (val <= 10000) { 
     val = 0; 
    } else if (val <= 35000) { 
     val = val * .15; 
    } else if (val <= 85000) { 
     val = val * .25; 
    } else if (val <= 175000) { 
     val = val * .28; 
    } else if (val <= 375000) { 
     val = val * .33; 
    } else if (val > 375000) { 
     val = val * .38; 
    } 
    return val; 
    } 

    public void reportTax() { 
    System.out.println("For an income of " + income + ", " + tax() + " in taxes are owed, leaving " + (income - tax())); 
    } 

} 

Таким образом, все что я хочу сделать, это распечатать что-то между parameters.распечатывания Параметры

Не могу понять, как.

Итак, когда я спрашиваю у пользователя input по моим параметрам для налогоплательщика johnnyhopkins, как бы я сказал «Входной статус брака. True или False?».

Тогда у них вход и затем еще одну распечатку после первого входа

ответ

0

Простой, не передавать параметры непосредственно со сканера. Сначала сканируйте их в локальные переменные, перед каждой из которых вы можете распечатать требуемый оператор, а затем передать все локальные переменные в конструктор каждого объекта. Чтобы упростить это, вы можете создать метод, который сделает это, чтобы вы могли его повторно использовать.

public TaxPayer createUser(Scanner scan) { 
    System.out.println("Say something"); 
    boolean x = scan.nextBoolean(); 
    ... 
    return new TaxPayer(x,y,z); 
} 

public static void main(String...args) { 
    Scanner scan = new Scanner(System.in); 
    TaxPayer somebody = createUser(scan); 
} 
Смежные вопросы