How To Separate Numbers In A File And Put Leading Zeros
Nov 15, 2014
I am writing a program that adds together large integers. I have to store each integer in an array of digits, with one digit per array element. Array length is 50 so integer is 50 digits long. I have to store numbers in right-shifting format with leading zeros. For example,
0000000000000000000038423
0000000000000000000000027
Sum.txt contains numbers to be added. There could be one or more numbers per line.each line must be read as string with next() since it's assumed to be a very long number. String of digits needs to be converted into an array of 50 digits. Method CharAt and Character.getNumericValue will be useful. All numbers in each line are to be added. There are no negative numbers and individual number might be 0 or answer might be 0. Answer is always 50 digits or fewer.
BigDecimal or BigInteger are not allowed.
I'm lost where it says to put number with leading zeros in a 50 room array. How do I add numbers after formatting numbers with leading zeros?
View Replies
ADVERTISEMENT
Jan 21, 2014
Any way to place leading zeros onto numbers without having to convert them to strings? Is such a thing possible?
View Replies
View Related
Nov 18, 2014
why I need to populate an array with leading zeros. It sounds like it wants me to populate the entire array for one number (string). When I use next(), it separates the numbers so why do I need to go the leading zeros route?
This assignment will give you practice with external input files and arrays. You are going to write a program that adds together large integers. The built-in type int has a maximum value of 2,147,483,647. Anything larger will cause what is known as overflow. Java also has a type called long that has a larger range, but even values of type long can be at most 9,223,372,036,854,775,807.The approach you are to implement is to store each integer in an array of digits, with one digit per array element. We will be using arrays of length 50, so we will be able to store integers up to 50 digits long. We have to be careful in how we store these digits. Consider, for example, storing the numbers 38423 and 27. If we store these at the front of the array with the leading digit of each number in index 0 of the array, then when we go to add these numbers together, we're likely to add them like this:
38423
27
To simulate this right-shifting of values, we will store each value as a sequence of exactly 50 digits, but we'll allow the number to have leading 0's. For example, the problem above is converted into:
0000000000000000000038423
0000000000000000000000027
Now the columns line up properly and we have plenty of space at the front in case we have even longer numbers to add to these.The data for your program will be stored in a file called sum.txt. Each line of the input file will have a different addition problem for you to solve. Each line will have one or more integers to be added together. Take a look at the input file at the end of this write-up and the output you are supposed to produce. Notice that you produce a line of output for each input line showing the addition problem you are solving and its answer. Your output should also indicate at the end how many lines of input were processed. You must exactly reproduce this output.
You should use the techniques described in chapter 6 to open a file, to read it line by line, and to process the contents of each line. In reading these numbers, you wont be able to read them as ints or longs because many of them are too large to be stored in an int or long. So youll have to read them as String values using calls on the method next(). Your first task, then, will be to convert a String of digits into an array of 50 digits. As described above, youll want to shift the number to the right and include leading 0s in front.
The String method charAt and the method Character.getNumericValue will be useful for solving this part of the problem.You are to add up each line of numbers, which means that youll have to write some code that allows you to add together two of these numbers or to add one of them to another. This is something you learned in Elementary School to add starting from the right, keeping track of whether there is a digit to carry from one column to the next. Your challenge here is to take a process that you are familiar with and to write code that performs the corresponding task.
Your program also must write out these numbers. In doing so, it should not print any leading 0s. Even though it is convenient to store the number internally with leading 0s, a person reading your output would rather see these numbers without any leading 0s.You can assume that the input file has numbers that have 50 or fewer digits and that the answer is always 50 digits or fewer. Notice, however, that you have to deal with the possibility that an individual number might be 0 or the answer might be 0. There will be no negative integers in the input file.You should solve this problem using arrays that are exactly 50 digits long. Certain bugs can be solved by stretching the array to something like 51 digits, but it shouldnt be necessary to do that and you would lose style points if your arrays require more than 50 digits.The choice of 50 for the number of digits is arbitrary (a magic number), so you should introduce a class constant that you use throughout that would make it easy to modify your code to operate with a different number of digits.
Consider the input file as an example of the kind of problems your program must solve. We might use a more complex input file for actual grading. The Java class libraries include classes called BigInteger and BigDecimal that use a strategy similar to what we are asking you to implement in this program. You are not allowed to solve this problem using BigInteger or BigDecimal. You must solve it using arrays of digits.Your program should be stored in a file called Sum.java.
Input file sum.txt
82384
204 435
22 31 12
999 483
28350 28345 39823 95689 234856 3482 55328 934803
7849323789 22398496 8940 32489 859320
729348690234239 542890432323 534322343298
3948692348692348693486235 5834938349234856234863423
999999999999999999999999 432432 58903 34
82934 49802390432 8554389 4789432789 0 48372934287
0
0 0 0
7482343 0 4879023 0 8943242
3333333333 4723 3333333333 6642 3333333333
Output that should be produced
82384 = 82384
204 + 435 = 639
22 + 31 + 12 = 65
999 + 483 = 1482
28350 + 28345 + 39823 + 95689 + 234856 + 3482 + 55328 + 934803 = 1420676
7849323789 + 22398496 + 8940 + 32489 + 859320 = 7872623034
729348690234239 + 542890432323 + 534322343298 = 730425903009860
[code]....
View Replies
View Related
Feb 4, 2015
I have an array made that represents digits and I am trying to make a method so that if there are zeros in front of the first significant digit I want to trim them, I understand you can't re size arrays so I have created a new array, but my code doesn't seem to run correctly? Here is my code I can't figure out what is wrong I've tried everything: (I put stars around the error**)
package music;
import java.util.Random;
public class Music {
private int length; // length of the array
private int numOfDigits; // number of actual digits in the array
int[] musicArray;
[Code] .......
View Replies
View Related
Jan 23, 2014
If I have 0123.45 string and trying to get 12345 as result. I am trying regex like below.
String s="0123.45";
s = s.replaceAll("^0*([0-9]+).*", "$1");
It gave result 123 as leading zeros removed that is one of the things that I want. How do I achieve 12345?
View Replies
View Related
Jun 10, 2014
I got situation where i have postal code as 0009 in database and the use is entering 0009 but somehow in my java code it only reading 9 from the xml file
This is how i define getter and setter
When i debug the code i get
passed postalcode 9
Java Code:
public String Postalcode="";
public void setPostalcode(String Postalcode) {
this.Postalcode = Postalcode;
}
public String getPostalcode() {
return Postalcode;
} mh_sh_highlight_all('java');
What if 0009 is passed i what it to remain 0009
View Replies
View Related
Jun 10, 2014
I got situation where i have postal code as 0009 in database and the use is entering 0009 but somehow in my java code it only reading 9 from the xml file
This is how i define getter and setter :
When I debug the code i get this :
passed postalcode 9
if a user entered 0009 I what it to remain 0009
Java Code:
public String Postalcode="";
public void setPostalcode(String Postalcode) { this.Postalcode = Postalcode; }
public String getPostalcode() { return Postalcode; }
View Replies
View Related
Apr 24, 2014
I've just written a program that generates 100 numbers that range from 0 ~ 25 using arrays, the program calls another method that sorts the even numbers into a separate array and returns the array. I need it to display both arrays, however, when I run my program, the numbers of both arrays are mixed together, and I'm not sure how to separate them.
[ public class Array1
{
public static void main(String[] args)
{
int array [ ] = new int[100];
for (int i = 0; i < array.length; i++)
{
array[i] = (int) (Math.random() * 26);
[Code] .....
View Replies
View Related
Feb 17, 2014
The question is Write a program that displays all the numbers from 100 to 1000, ten per line, that are divisible by 5 and 6. and separated by exactly a space.
My assignment requirements are to display this in Dialog Box / message box . I have written this code so far
import javax.swing.JOptionPane;
public class Exercise04_10 {
public static void main(String[] args) {
int count = 1;
for (int i = 100; i <= 1000; i++)
if (i % 5 == 0 && i % 6 == 0)
How to display the output in dialog box?
View Replies
View Related
Nov 4, 2014
I've written most of the code (along with another classmate) to get this to work, but I can't seem to return the encrypted value. I'm also trying to figure out how to separate the digits (or if I'm supposed to) to make the numbers encrypted. The main kicker is that we have to be using methods to return the final values. Everything compiles, (It compiles, but no results really.)
A company wants to transmit data over the telephone, but they are concerned that their phones may be tapped. All of their data is transmitted as four-digit integers. They have asked you to write a program that will encrypt their data so that it may be transmitted more securely. Your program should read a four-digit integer number and encrypt it as follows: Replace each digit by the remainder after (the sum of that digit plus 7) is divided by 10. Then, swap the first digit with the third, and swap the second digit with the fourth. Then print the encrypted integer. Do the encryption in a method and send the encrypted number back to main.
Here are the method headers: public static int encrypt(int num) // Takes num as a parameter and returns the encrypted value public static int getnum() // gets one number from the user Example: If the user enters 1234 they should see: 0189
import java.util.Scanner; //Needed for Scanner class
public class LNFI_LNFI_program2
{
public static void main(String[] args)
{
getnum(); //Calls for getnum() method
[Code] ....
View Replies
View Related
Oct 14, 2014
in log4j,in a web aplication i need loging in separate file,logging for action package in one file and dao in another file in action package log a class if this is possible in a class then a level in a file another level in another file.
View Replies
View Related
Jul 30, 2014
I am trying to create a bukkit plugin. I need to be able to read from a separate config file but do not know how.
I am trying to use a JSON parser to read from a file but I only need a specific line of the file. Would this work?:
JSONParser parser = new JSONParser();
Object obj = parser.parse(new FileReader("/plugins/easyRace/config.yml"));
JSONObject jsonObject = (JSONObject) obj;
String Races = jsonObject.get(var "Races:");
View Replies
View Related
Feb 23, 2015
I have created an application in SceneBuilder, and want to call a pop up (also created separately in scene builder) when a certain button is pressed. How?
View Replies
View Related
Mar 26, 2014
So I'm trying to read 11 values from a text file, each value on a separate line. The first value I use as loop control to run through calculations on the other ten and finally output both the numbers and the calculations to the console and an output file. I'm not getting a compiler error or a runtime error but my loop seems to stop after reading the first line. It also doesnt seem to be writing to my output file but does create it when I run the program. This is what my text file looks like
10
150.4
88.4
-3.14
499.4
799.4
1299.8
0
1900.2
901.7
4444.4
This is what my program looks like
import java.util.*;
import java.io.*;
public class assignment7scratch
{
Toolkit_General toolKit = new Toolkit_General();
public static void main (String[]args)throws IOException
[Code] .....
so I dont get an error but this is what my output looks like
----jGRASP exec: java assignment7scratch
This program reads a list of values representing number of miles driven by individuals. It will output the dollar amount their rental cars cost.
Number of miles traveled on the left as well as amount reimbursed on the right
-----------------------------------------------
Miles Driven Amount reimbursed
150.427.072
----jGRASP: operation complete.
it also doesn't write anything to my output file, though it does create one.
View Replies
View Related
Apr 27, 2014
I am having some trouble with a Java program. I have a txt data file, which I will display, that I need to add into two separate arrays. The text file is 8 lines long that is supposed to go into two separate 4x4 matrices. A little background info on this program, reads in two arrays, compares them and outputs the largest elements of the same index and outputs them in a separate array. I somehow cannot seem to figure out how to do this. My code is below:
Data File:
2 7 6 4
6 1 2 4
9 7 2 6
8 3 2 1
4 1 3 7
6 2 3 8
7 2 2 4
4 2 3 1
Code:
public class prog465a {
public static void main(String[] args) {
Scanner inFile = null;
try {
inFile = new Scanner(new File("prog465a.dat.txt"));
[Code] .....
View Replies
View Related
Aug 22, 2014
I tried to create file and write the output of my program in it in java when i use WriteLong then the file does not contain long value, how I create this file my program is to print prime numbers between 500000 to 10000000
public class primenumber {
public static void main(String[] args) {
long start = 5000000;
long end = 10000000;
System.out.println("List of prime numbers between " + start + " and " + end);
for (long i = start; i <= end; i++) {
if (isPrime(i)) {
System.out.println(i);
[Code] ....
View Replies
View Related
Mar 4, 2014
How do i flush off the leading 0s from my results? I want to start with 1.
import java.util.Scanner;
public class Hex2Bin {
public static void main(String[] args) {
String hexStr;
int hexStrLen;
[code]....
View Replies
View Related
Jun 20, 2014
why this code only displays four zeros ?????
public class VargjetUshtrimi2 {
public static void main (String a []) {
int r[] = new int[11];
for (int i = 1 ;i < 10; i++)
{System.out.println( r[i] );}
}
View Replies
View Related
Nov 16, 2014
Ok, so let's say I am having a user input scores and at the end I want to print out the results so I do something like:
int[] Scores = new int[1000];
//code to ask user for input and store into array //
The user only inputs lets say 5 scores out of possible 1000. I then try to print it out by doing something like this:
for(int counter = 0; counter < Scores.length; ++counter) {
System.out.println(Scores[counter])
}
How would I go about printing out only the index's that were input, because right now it prints out the scores and then 995 0's after.
View Replies
View Related
Apr 3, 2015
I am writing a code that requires a user to input a number, then output the individual digits and then add the sum of the digits. I have the entire program written, but I cannot figure out how to make zeros output as individual digits. If I input 400, it only shows 4 and not 4 0 0. Here is the code:
import java.util.*;
public class week4program {
public static void main(String[] args) {
[Code].....
View Replies
View Related
Mar 31, 2014
How do i change the outcome to below? at the moment it is all 0? How I can clear some clouds in this area.
Competitor 1: 11111
===============================================
Competitor 2: 22222
===============================================
Competitor 3: 33333
===============================================
Competitor 4: 44444
===============================================
Competitor 5: 55555
===============================================
Here's the code:
case 2: System.out.println("Menu item 2");
for(int i=1; i<MAX_COMPS;i++){
System.out.print("Competitor " + i + ": ");
for (int j=1;j<MAX_SCORES;j++)
System.out.print(scores[i][j] + " ");
System.out.println("");
}
View Replies
View Related
Sep 26, 2014
I need to add two integers in the same row of a file, separated by tab
my file abc.txt has the following entry
12 123
15 456
My program needs to add 12 with 123 and 15 with 456
I am being able to split the two entries in a row and convert them to integer but i dont know how to treat them as separate numbers and add them. For example if i try to add then 12 adds with 12 and 123 adds with 123. wheres it should be 12+123
Here is my program
import java.io.*;
public class test {
public static void main(String[] args) {
String s = "";
FileInputStream finp = null;
[Code] .....
View Replies
View Related
Mar 20, 2014
I have a text file containing numbers and names as shown in the example below:
61133128805241Albert Rosenberg
64763645543509Joel
79256337754219Michael Burton
I'm making a program that will read the file and put the numbers in a list of int arrays and names in another list of strings. In my program i created two classes. One will receive the numbers and the other will receive the names. But i only can read the numbers! How can I read everything and separate into two different lists?
try( BufferedReader br = new BufferedReader( new FileReader( jFileChooser1.getSelectedFile().getAbsolutePath() ) ) ) {
hist = new Historic();//Will recieve the array of numbers.
while( br.ready() ) {
int line[] = new int[ 7 ];
[Code] ...
View Replies
View Related
Oct 16, 2014
how to sort my text file. So far I have been able to read the text file and print it back out, but I am unsure of how to go about sorting it. Must print the colors (in the order of the rainbow first) and if the colors are the same compare the size (bigger is more important)The values I have to sort are written as such in the text file:
blue 18
blue 10
red 27
yellow 4
public class Rainbow{
private String color;
private int size;
public Rainbow(String color, int size){
this.color = color;
this.size = size;
[code]....
I would know how to sort it if it was supposed to be alphabetical order or there were only numbers, but I can't seem to figure out how to sort it when there are strings and integers
View Replies
View Related
Jul 10, 2014
I need to find the largest value in a scanned file.I've gotten the count, sum, average, evens, and odds myself.The code above the while loop is not mine and my professor said I may no edit it or other wise mess with it. I also may not use arrays.Also I've realized that the largest/smallest are recording the value of count. I've tried the following:
Scanner infile = new Scanner ( new FileReader(args[0]) );
int count=0,sum=0, largest=Integer.MIN_VALUE,smallest=Integer.MAX_VALUE, evens=0, odds=0;
double average=0.0;
[code]....
View Replies
View Related
Apr 7, 2014
I have a source code here that counts the frequency of alphabetic characters and non-alphabetic characters (see the source code below).
import java.io.*;
public class letterfrequency {
public static void main (String [] args) throws IOException {
File file1 = new File ("letternumberfrequency.txt");
BufferedReader in = new BufferedReader (new FileReader (file1));
[Code] ....
But, let's just say that now I have the following characters in the text file, "letternumberfrequency.txt":
71 geese - 83 cars - 58 cows- 64 mooses- 100 ants- 69 bangles- 90 molehills - 87 noses
The numbers inside that text file would be considered as strings, am I right? But I want to extract the numbers so that I can also be able to count their frequency - not as individual digits but as whole numbers (that is how many "71", "83", "58", "64", etc. are there...). Would using "Double.parseDouble ()" work?
View Replies
View Related