uzziclip
uzziclip

Reputation: 15

Program that lists amount of weight in a given input

I am attempting to write a program that will list the amount of kilograms, grams, and milligrams in a given input. Ex. in the given input of 1050042mg, the output will say that there is 1 kilogram, 50 grams, and 42 milligrams.

import java.util.Scanner;

class milligrams {
   public static void main(String[] args) {
     Scanner in = new Scanner(System.in);
     int milligram;
     double kilo, gram;
     System.out.println("Enter the weight in milligrams: ");
     milligram = in.nextInt();
     kilo = milligram / 1000000;
     gram = milligram / 10000;
     milligram = milligram / 1;
     System.out.println("The weight is " + kilo + "kilos, " + gram + "grams" + milligram + " milligrams");
   }
}

The part I am struggling with is I believe I must change the 10-12 lines with code that will read the given user input and then divide the input by the appropriate number to get kg, g, and mg but I cannot figure out how to do it as I am new to java. I am aware the division numbers are incorrect but I don't believe that is the issue. If this is not the right approach please guide me to the right approach.

Upvotes: 0

Views: 586

Answers (1)

ControlAltDel
ControlAltDel

Reputation: 35051

You can use the modulus (clock arithmetic) operator

 const KG = 1000000;
 const GRAM = 1000;
 Scanner in = new Scanner(System.in);
 int milligram;
 double kilo, gram;
 System.out.println("Enter the weight in milligrams: ");
 milligram = in.nextInt();
 kilo = milligram / KG;
 //use the modulus here (and below)
 milligram = milligram % KG;
 gram = milligram / GRAM;
 // 2nd use of modulus, this time with GRAN
 milligram = milligram % GRAM;
 System.out.println("The weight is " + kilo + "kilos, " + gram + "grams" + milligram + " milligrams");

}

Upvotes: 2

Related Questions