Java Program - Distance Traveled (Formatting And Decimal Place)
Apr 10, 2014
I'm having trouble formatting my output and issues with the decimal places. Here's my code:
import java.util.Scanner;
import java.text.DecimalFormat; // Imports DecimalFormat class for one way to round
public class lab3 {
public static void main(String[] args) {
String heading1 = "Hour", heading2 = "Distance Traveled";
int timeElapsed, hour, speed;
[Code] ....
And here's my output (Click on the image since it's pretty small):
javaIssues.png
Issue:
1) The Hours 2 and 3 aren't aligned to 1.
2) The 80 and 120 in Distance Traveled have 6 decimal places when it should not have decimals.
I am trying to write a loop that calculates the distance traveled (distance = speed * time). It should use the loop to calc how far the vehicle traveled for each hour of time. My program asks for hours and then mph but its not calculating time * speed. Here is my code.
public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Enter Hours Traveled "); int hoursTraveled = input.nextInt(); System.out.println("Enter MPH "); int mph = input.nextInt();
Ex. If I type 5943, the program will say mill = 5 hun = 9 ten = 4 uni = 3
get the picture I had to translate the decimal value names from a different language.
This is what I have tried...,
Java Code:
import java.util.Scanner;//Permite el uso de leer el teclado del usuario public class DeterminarValorDecimal//Nombra el documento { public static void main(String [] args)//Podemos ver la clase {
[Code].....
But what this does is I have to enter the single digits one by one. I want to be able to type the whole number. Is there a method that reads the length of the whole number and lets me classify each digit so I can do what I want to do?
I am currently trying to solve a programming problem on this site, and the problem includes working on a 100 digits of decimal places of a certain irrational number. I tried using BigDecimal class but it displays, correctly me if I am wrong, just 20+ decimal digits. Is there other way to do this?
I am trying to convert the double grossPay to 2 decimal places but cannot get it to work ,I am unsure of the correct way of doing this but this is how far I can get
I'm not sure why, but whenever I try to get a value out of a double, it only extends to one decimal place. For instance, (825 / 805) would become 1.0000 (after being run through a DecimalFormat object) instead of 1.0248 like I need it to be (and should be if what I know about primitive variable types is right). Why is the double variable type not giving me the precision I want and, more importantly, how do I fix this?
I've been scanning forums for answers to this problem, but most deal with simple programming that you might find in a classroom (i.e. "System.out.printf") which will not work in the GUI I'm attempting to complete. Here's the tale of the tape:
The GUI is a price calculator I'm developing for my company that takes input from drop-down menus and several Jtextfields and calculates the answer based on the values contained within each. It's completely done (and functional), so I'd rather not change too much if at all possible. Because I'm dealing with decimal values then I'm getting 9 decimal places in the output JLabel, though. In order to display the answer, I'm using a series of "totalPrice.setText(..." declarations.
Because there is a fair amount of text and the values in the calculation are constantly changing, is there a way to 'simply' format the output JLabel to display only 2 decimals? Or is there an alternative solution that would work--say with a JTextfield instead--without having to completely re-code the calculator?
Write method distance, which calculates the distance between two points (x1, y1) and (x2, y2). All numbers and returned values should be of type double. Incorporate this method into an program that enable the user to enter the coordinates of the points, then calculate and display the distance by calling the method –distance.
I've tried numerous times to make it work and I'm on the right path, however I'm missing some things in the code to make my results look like this later on, which I've attached onto this post.
I am writing a simple learning program that does basic math. Everything is working as needed except for when it comes to division. I need to know if there is a way to format the users input to two decimal places and that when the program checks the users answer against the division, it gives it a yay or nay. Right now, it wants the answer out to 12 decimal places.
import javax.swing.JOptionPane; import java.util.*; import java.text.DecimalFormat; import java.util.StringTokenizer; public class ShelbyHarms_3_03 { public static void main (String [] args) { double a, b, c; //Input sides of triangle double x; //Perimeter of triangle double area; //Area of triangle
[Code] .....
Here are the errors:
ShelbyHarms_3_03.java:39: error: variable x might not have been initialized JOptionPane.showMessageDialog(null, formatter.format(x)); ^ ShelbyHarms_3_03.java:42: error: variable area might not have been initialized JOptionPane.showMessageDialog(null, formatter.format(area)); ^ 2 errors
I'm attempting to format my doubles to two decimal places within my return statement. I have tried to use DecimalFormat but it gives me an error because my method needs to return a double and that results in a string being returned. I have also tried using the *100.00/100.00 method and that doesn't work when the number already ends in 0.
If I pass -150.00 it gives me -150.0 when I need two decimal places.
I've got a very simple java program (J.java, see below) on my application server that successfully connects to an Oracle 11.2 database on a database server (both servers are Linux CentOS) using JDBC thin driver from Oracle.
As you can see from the setURL command in the Java code below, I've configured the application and database servers to sit next to each other, and they're on the same network (cross-cable connected to each other), so there's no network traffic on these (development) boxes except my code.
The problem is the execution time varies a lot. If I run it 5 times, it (seemingly randomly) could take 0.01 seconds, or 10 seconds, or 50 seconds, or over a minute to execute. If it takes over a minute (roughly), the program doesn't complete, but the error shown below is returned instead.
------error returned when execution take more than about 1 minute------- gf@host9 [~/dbwork]# java -cp ./ojdbc6_g.jar:. J Exception in thread "main" java.sql.SQLRecoverableException: IO Error: Connection reset at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:494) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:547)
So I want to format my output in a table much like the one in the book. I have an SECTable class and it displays the table one row at a time. 4 of the rows are in the 2D array in the SECTable class. The decimal position values are just displayed via a loop going from 12 to 1 (8 bits), 21 to 1 (16 bits), and 38 to 1 (32 bits) and the binary position values have their own class which contains an ArrayList of the binary position values as strings. Here's an example of how I want the table to be formatted (this is after an error has been generated so all the rows will be displayed):
And I need it to format similarly for 16 bits and 32 bits as well. Here's the display function for the list of binary position numbers:
public void displayList() { System.out.print("Binary Positions: "); for (int i = (posNums.size() - 1); i >= 0; i--) { System.out.print(posNums.get(i) + " "); } }
Here are the display functions for the rows (separated them so that there wasn't so much code in one function):
public void displayTable() { // Print the Binary Position Values displayBinPositions(); // Print decimal bit positions displayDecPositions();
[Code] ....
The print3rdRow and print4thRow are booleans to determine whether an error has been generated yet (user chooses from menu to create an error and the program picks a random bit to change and the erroneous data is put in the 3rd row and it's check bits are put in the 4th row). I tried doing spaces but it just wouldn't come out like I wanted.
I am using NetBeans IDE 8.0.2 to program Java code. I am a beginner in Java.
Instead of getting two decimal places after the point, I am getting three despite using the code format for two ("##.##"). Actually, this happens even if I remove the format code between the quotes. It is as if the program cannot see the format code. Why this happens ?
Here is the relevant program code:
private void convertButtonActionPerformed(java.awt.event.Action Event evt) { double inputNumber = 0; // sets the decimal format
I'm trying to convert an octal number into a decimal number. I keep getting a big error that says java:63: error: class, interface, or enum expected. i need to use a public static int convert ( int octalNumber ) along with a public static void main ( String args[] ).
Here is my code. />
[public static void main ( String args[] ) { int foo; int valid = 0; Scanner sc = new Scanner (System.in); System.out.print ("Enter up to an 8-digit octal number and I'll convert it: "); foo = sc.nextInt();
so I need my program to print in decimal format and I keep getting an error saying that it cant find symbol "decimalFormat". here's what I have so far.
import java.util.Scanner; public class GPACalculator { public static void main(String[] args) { int creditHours = 0; int gradePoints = 0;
I'm working on creating the Binary to Decimal program . hat is wrong with this part of my code. Why does it not take you into the loop.
import java.util.Scanner; public class question5 { public static void main(String[] args) { System.out.println("Enter a Binary number. "); // collect Scanner keyb = new Scanner(System.in); //
How do I get the code to use decimals? Also whenever you input 1, 2 or 3 as one of the operators, it always does that operator as well as the 4th operator at the end. So it always does subtraction. However when you use 4 as the only operator it works perfect.
import java.util.Scanner; public class Program05 { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); double left; double right;
I know how to do this program it is just not coming to me. The whole point is to calculate and display the base (base-2 or binary, base-8 or octal and base-16 or hexadecimal) in representation of 'N'. The symbols A, B, C, D, E, F should display 10, 11, 12, 13, 14, and 15 in hexadecimal system.
import java.io.*; import java.util.Scanner; public class ChangeBase { public static void main(String[]args) { double num;
Just a quick question about the formatting of text files when using Java. I created a text file called Discount Fly that keeps track of things like a person's name, address, etc. Here is roughly what it looked like in the .txt file:
Name Address Postal Code Jane Doe Anywhere St, 123 1A2 B3C
However, when I run this code:
static String firstOutput = ""; public static void main(String[] args) throws IOException { BufferedReader fileRead = new BufferedReader(new FileReader("C:UsersOwnerDocumentsDiscountFly.txt")); String fileLine = ""; for (int i = 0; i < 12; i++) { fileLine = fileRead.readLine(); if (fileLine == null) { break;
[Code] ....
It prints out into JOptionPane as: NameAddressPostalCode JaneDoe Anywhere St, 123 1A2 B3C
Is there anyway to maintain the formatting in JOptionPane? Also, I am new to writing programs that read from text files, so if somethings up with my code (i.e. java conventions) ...
I'm using eclipse. I'm going to get straight to the point and give all the info I can, if the values in the first code box are used, shouldn't these values be left after all in the second box is done:
remainder=23, arr[0]=100, div=23/10=2.3, whole=2, and decimal=3?
When I use this code, div comes out to be just (2.0).
Java Code:
int leng=10; arr[0]=123; //int arr[1]=100; //int mh_sh_highlight_all('java'); Java Code: if (arr[0]!=arr[1]){ int remainder=arr[0]-arr[1]; arr[0]=arr[0]-remainder; double div=remainder/leng; //double div=Double.valueOf(remainder/leng); int whole=(int) Math.floor(div); int decimal=(int) ((div-whole)*leng); mh_sh_highlight_all('java');
I'm not sure were I'm going wrong in how div is being calculated, but I ultimately need div to be 2.3.
I've also used the second option commented out which still gives (2.0).
I am working on a program where i calculate a fee using a method. I know i have to import the decimal format utility of java. "import java.text.DecimalFormat;" then i have to create an object for the decimal format. With "DecimalFormat f = new DecimalFormat("0.00");" What i am wondering how do i apply it to my system.out.println statement. I know i have to use for instance f.format(calculateFee()); Is that the right syntax for displaying the results because i generate a syntax error that way.