1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
aleksley [76]
3 years ago
14

The following code is poorly structured. Rewrite it so that it has a better structure and avoids redundancy. To help eliminate r

edundancy, convert the code into a method named spending that accepts two parameters: a Scanner for the console, and a String for a single person's name, and prints the appropriate information about that person's bills. Your method could be called twice (once for John and once for Jane) to replicate the original code's behavior.
Scanner console = new Scanner(System.in);
System.out.print("How much will John be spending? ");
double amount = console.nextDouble();
System.out.println();
int numBills1 = (int) (amount / 20.0);
if (numBills1 * 20.0 < amount) {
numBills1++;
}
System.out.print("How much will Jane be spending? ");
amount = console.nextDouble();
System.out.println();
int numBills2 = (int) (amount / 20.0);
if (numBills2 * 20.0 < amount) {
numBills2++;
}
System.out.println("John needs " + numBills1 + " bills");
System.out.println("Jane needs " + numBills2 + " bills");
Computers and Technology
1 answer:
Virty [35]3 years ago
7 0

Answer:

Explanation:

public static void main(String[] args) {

       Scanner console = new Scanner(System.in);

       spending(console,"John");  //calling spending method with "John"

       spending(console,"Jane");  //calling spending method with "Jane"

   }

   public static void spending(Scanner console, String name){

       System.out.print("How much will "+name+" be spending? ");

       double amount = console.nextDouble();

       System.out.println();

       int numBill = (int) (amount / 20.0);

       if (numBill * 20.0 < amount) {

           numBill++;

       }

       System.out.println("John needs " + numBill + " bills");

   }

Code Explanation

Method are reusable set of code which reduces redundancy. So the original code was trying to calculate the bill for John and Jane but the code to calculate was redundant which will cause more line of code and complex to manage. For example let say if we have 1000 of user to calculate there bill, will it be efficient to write bill calculation code for all 1000 users?

That's where function comes in to reduce redundancy from code and easy to manage.

Easy to Manage in a way, let say you need to change the bill calculation formula then without function, you have to change the formula for all the users but with function you only need to change the bill calculation formula in spending function.

You might be interested in
Write a program to input elements of 4*3matrix and prints its elements properly using array ​
Harlamova29_29 [7]

Answer:

Step by step explanation:

7 0
2 years ago
Write the definition of a function divide that takes four arguments and returns no value . The first two arguments are of type i
Nastasia [14]

Answer:

#include <iostream>

using namespace std;

void divide(int numerator, int denominator, int *quotient, int *remainder)

{

*quotient = (int)(numerator / denominator);

*remainder = numerator % denominator;

}

int main()

{

int num = 42, den = 5, quotient=0, remainder=0;

divide(num, den, &quotient, &remainder);

 

return 0;

}

Explanation:

The exercise is for "Call by pointers". This technique is particularly useful when a variable needs to be changed by a function. In our case, the quotient and the remainder. The '&' is passing by address. Since the function is calling a pointer. We need to pass an address. This way, the function will alter the value at the address.

To sum up, in case we hadn't used pointers here, the quotient and remainder that we set to '0' would have remained zero because the function would've made copies of them, altered the copies and then DELETED the copies. When we pass by pointer, the computer goes inside the memory and changes it at the address. No new copies are made. And the value of the variable is updated.

Thanks! :)

8 0
3 years ago
Hello, my first time being here and I'm returning back from college and I'm now studying Java in college but I was stuck doing t
KengaRu [80]

Answer:

import java.time.LocalDate;

class TestWedding {

 public static void main(String[] args) {

   Person man1 = new Person("John", "Doe", LocalDate.parse("1990-05-23"));

   Person woman1 = new Person("Jane", "Something", LocalDate.parse("1995-07-03"));

   Person man2 = new Person("David", "Johnson", LocalDate.parse("1991-04-13"));

   Person woman2 = new Person("Sue", "Mi", LocalDate.parse("1997-12-01"));

   Couple cpl1 = new Couple(man1, woman1);

   Couple cpl2 = new Couple(man2, woman2);

   Wedding wed1 = new Wedding(cpl1, "Las Vegas", LocalDate.parse("2020-09-12"));

   Wedding wed2 = new Wedding(cpl2, "Hawaii", LocalDate.parse("2021-01-02"));  

   displayDetails(wed1, wed2);

 }

 public static void displayDetails(Wedding w1, Wedding w2) {

   System.out.println(w1.toString());

   System.out.println(w2.toString());

 }

}

---------------------------

class Couple {

 private Person person1;

 private Person person2;

 public Couple(Person p1, Person p2) {

   person1 = p1;

   person2 = p2;

 }

 public String toString() {

   return person1.toString() + " and " + person2.toString();

 }

}

----------------------------

import java.time.LocalDate;

import java.time.format.DateTimeFormatter;

class Person {

 private String firstName;

 private String lastName;

 private LocalDate birthDate;

 public Person(String first, String last, LocalDate bdate) {

   firstName = first;

   lastName = last;

   birthDate = bdate;

 }

 public String getFirstName() {

   return firstName;

 }

 public String toString() {

   DateTimeFormatter formatter = DateTimeFormatter.ofPattern("LLLL dd, yyyy");

   return String.format("%s %s born %s", this.firstName, this.lastName, birthDate.format(formatter));

 }

}

------------------------------------

import java.time.LocalDate;

import java.time.format.DateTimeFormatter;

class Wedding {

 private Couple couple;

 private String location;

 private LocalDate weddingDate;

 public Wedding(Couple c, String loc, LocalDate wDate) {

   couple = c;

   location = loc;

   weddingDate = wDate;

 }

 public String getLocation() {

       return this.location;

 }

 public String toString() {

   DateTimeFormatter formatter = DateTimeFormatter.ofPattern("LLLL dd, yyyy");

   return  

     couple.toString() +  

     " are getting married in " + location + " on "+

     weddingDate.format(formatter);

 }

}

Explanation:

I used overrides of toString to let each object print its own details. That's why this solution doesn't really require any getters. I implemented some to show how it's done, but you'll have to complete it. The solution shows how to think in an OO way; ie., let every class take care of its own stuff.

6 0
3 years ago
HELP PLEASEEEE!!!!!!!
Lubov Fominskaja [6]
This is too little points for a question I’m sorry.
8 0
3 years ago
To test dns configuration by resolving a host name to ip address, which command or commands can you use
Helga [31]

ping, tracert or nslookup can all be used.

4 0
3 years ago
Other questions:
  • An employee is angry with his boss and wants to sabotage the company. To accomplish this he secretly changes some of the values
    7·1 answer
  • To insert a clip art you must do the following
    14·1 answer
  • The analog signals that carry analog or digital data comprise composites built from combinations of simple sine waves.
    12·1 answer
  • Which three of the following are used for mobile Internet access?
    12·2 answers
  • ____ are systems in which queues of objects are waiting to be served by various servers
    5·1 answer
  • What three steps Name a group??
    14·1 answer
  • Each time the user selects an item from a list box in a web page, a postback occurs, the web page will redisplay, and the page_l
    12·1 answer
  • How can multiple items be selected at the same time in aJList?
    8·1 answer
  • Define a function compute_gas_volume that returns the volume of a gas given parameters pressure, temperature, and moles. Use
    12·1 answer
  • The underlying color of a slide.
    9·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!