simple arithmetic problem
Hello. I'm new here and simply looking for help to a problem I'm having.
I have a program requesting user input for two variables as integers. I then have a third variable set as a double that I would like to use to divide the two integers and give me a decimal with no more than 2 decimal places.
I'm fairly certain this has something to do with me trying to set a double equal to the division of 2 integers. How would I get this to work?
Re: simple arithmetic problem
so you want to ask the user to type in 2 integers?
then divide the first integer by the second integer? and store this value in a double.
then print out the double to 2 decimal places?
Re: simple arithmetic problem
Quote:
Originally Posted by
nadrii
I'm fairly certain this has something to do with me trying to set a double equal to the division of 2 integers. How would I get this to work?
Well first of all, if you divide an int by an int, you get a truncated (or cut off) answer, setting the answer as a double simply adds .0 at the end. What is it that you're confused with? Are you trying to add the two ints and divide by a double? If so, are you confused with how to have the answer go to 2 decimal places? How much have you already done and what specifically do you have trouble with?
*edit* darn, too slow once again :(
Re: simple arithmetic problem
to read in user input you need to use the Scanner class.
first of all import the Scanner class: import java.util.Scanner;
then in your main class body you want to create a new scanner object and read in 2 integers from the user.
use this:
Code :
int num1, num2;
Scanner scan = new Scanner (System.in);
System.out.println("Please enter 2 integers:");
num1 = scan.nextInt();
num2 = scan.nextInt();
Re: simple arithmetic problem
Ah i think its parseDouble you need to convert int to double.
at the moment i have:
Code :
package testing;
import java.util.Scanner;
import java.text.DecimalFormat;
public class NewMain {
public static void main(String[] args) {
int num1, num2;
double num3, num4, divided;
Scanner scan = new Scanner(System.in);
System.out.println("Please enter 2 integers:");
num1 = scan.nextInt();
num2 = scan.nextInt();
num3 = Double.parseDouble(Integer.toString(num1));
num4 = Double.parseDouble(Integer.toString(num2));
divided = num3 / num4;
System.out.println(divided);
}
}
it reads in 2 integers, converts them to doubles, stores the division result in a double called divided.
Now you somehow need to format the double 'divided' to 2 decimal places
Re: simple arithmetic problem
The entire program works just fine. I've scanned in two separate integers using two separate print statements. They're now stored in two separate variables, let's say A and B (for reference).
I now have a third variable C declared as a double. I would like to do the following:
Code :
C = A / B;
System.out.print("The value of C is " + C + ". ");
However, C always comes out as 0 even though A and B up to this point are being calculated just fine. In my code right now I have print statements verifying this. I'd like to print C so that it actually does this division properly. I figured the problem lied with dividing two integers and setting that equal to a double. I'd like to know how I can get this to work.
edit:
Just saw the above post, going to try it.
Re: simple arithmetic problem
Yes you should try my code above to see if its what youre looking for.
I had the same problem with dividing two integers and trying to just store the result as a double.
it just gave 0.0 everytime.
Re: simple arithmetic problem
Well right now I'm trying the following:
Code :
A = (int) Double.parseDouble(Integer.toString(A));
B = (int) Double.parseDouble(Integer.toString(B));
C = A / B;
System.out.print("The value of C is " + C + ". ");
The reason that int in parenthesis is added is because my compiler is suggesting it as a solution to an error. The way you presented it to me wasn't working. And after I put that int there C is still coming out as 0.0.
Re: simple arithmetic problem
The key point learnt here i think is converting the ints to doubles before performing the division.
Re: simple arithmetic problem
If you want a double from the division of the int's, you need to specify you are doing floating point math by casting the num/denom to double types
Code :
double d = a/(double)b;//assuming a and b are of type int
@djl1990, I recommend you read the following link - a few of your posts come quite close:
http://www.javaprogrammingforums.com...n-feeding.html
Re: simple arithmetic problem
Code :
int test1, test2;
test1 = (int) Double.parseDouble(Integer.toString(A));
test2 = (int) Double.parseDouble(Integer.toString(B));
C = test1 / test2;
System.out.print("The value of C is " + C + ". ");
Still getting 0.0 :(
Re: simple arithmetic problem
You'll need 5 variables
A & B (the two integers read in from user input)
C = A parsed to a double
D = B parsed to a double
and E = C / B
Try it that way.
Re: simple arithmetic problem
Try this mate
Code :
int A, B;
double C, D, E;
Scanner scan = new Scanner(System.in);
System.out.println("Please enter 2 integers:");
A = scan.nextInt();
B = scan.nextInt();
C = Double.parseDouble(Integer.toString(A));
D = Double.parseDouble(Integer.toString(B));
E = C / D;
System.out.println("1st number divided by the 2nd number = " + E);
Re: simple arithmetic problem
Quote:
Originally Posted by
copeg
Sorry, I do try and explain steps though. I wont post code solutions in future.
Re: simple arithmetic problem
Ooo, that worked! I realized just now I had set E to a float a while back as I was trying to solve this problem. Converting them to doubles using this method worked though.
My only issue now, though, is limiting E to two decimal places. Would you happen to know how I can do that?
Re: simple arithmetic problem
I'm looking around a bit and seeing some stuff about using pound signs to designate how many decimal points will be printed out. Anyone know anything about this?
edit:
This post cleared it up for me. Thanks a lot!