Create A Java Program That Can Read Specific Data Within Csv File To Work Out Averages
Aug 7, 2014
i am fairly new to java but have made a few projects so i do know most aspects that would allow me to complete the task its just i have been stuck at the same place now for 2 days.The project is to create a java program that can read specific data within a csv file to work out the averages etc. The csv file is a database of different weather stats . an example of the first 12 months of the csv file is below..
I know that once the data is indexed i can than use a double to find the average of the 12 specific pieces of data and so on. once this is complete i should than be able to transfer the data to a simple graph.
I am now stuck. I am writing a program that reads information from a data file and runs it through but program. However, I am almost finished with the program, but cannot figure out the last few parts.
public class Storm { private final double KnotsToMPH = 1.15; // global user-defined types: private int beginDate; private int duration; private String name;
[Code] .....
I have not attached the data file because it contains a total of 360 lines of hurricane information.
"Write a program (save the program as ProductInventory.java) that will read data about 5 products from a text file (Products.txt. The program should use the data read from the file to create instances (objects) of Product.java(Use Product class as a Reference Type)."
I'm yet to discover how I will get the info from the textfile using scanners but I don't know how to "create instances of a reference type".
This is the code of Product.java that came with the exercise.
public class Product { private String productCode = ""; private String productName = ""; private int quantity; private String supplierName = ""; private String supplierAddress = ""; private double price;
[Code] .....
By the way, the exercise also required me to use the abstract class ProductLister. To be clearer, the text file is kinda like this:
54643 Rizer Mouse Mark5s Merchandising Marquee Mall 4 205.50 23412 Acer Ultrabook JohnJade Merchandise Cornal City 2 62200.00 93112 Dell Ultrabook Octagon Marketing Cornal City 3 68900.00 22126 Macbook Air Pro Computerware Services San Beda, Chad 2 93500.00
tab separated values, for different columns and these are the lines only I want method to read.Now suppose if any is there as below, or even enter
12-01-0113:26San Jose12.99DVD 12-12-3009:40Miami13.50Music 14-08-3010:20Arizona16.03Scientist 11-07-1009:10New York25.00ColdPlay 14-08-3010:20Arizona18.04MeetYou [new lines] 14-08-3010:20Arizona50.03Scientist 11-07-1009:30New York25.00ColdPlay //This line should not be read even this should not be read #$%^& 11-07-1009:20New York25.00ColdPlay
That particular line should be escaped. Till now I have done when the file format is proper, and it is as below:--
public static void main(String[] args) { BufferedReader br = null; String temp = null; List<String> arrayRead = new ArrayList<String>(); try{ br = new BufferedReader(new FileReader("D: estingSalesData.txt"));
I am somewhat of a java newbie (learned it awhile back and just getting back to programming some again.) I have a text file of data much larger than this, but here are the first ten rows and first 10 columns.
I can read and write all the data back out to files. But I am not sure about a few things.
First would it be best to use BufferedReader and OutputStream such as:
public static void main(String[] args) throws IOException { BufferedReader bReader = new BufferedReader(new FileReader ("testdata.txt")); BufferedOutputStream bytesOut = new BufferedOutputStream(new FileOutputStream ("outfile.txt"));
Second, I was then going to initialize an array but I might have 30 or more columns of data, of which I might perform and output only 10 columns to my output.txt file so is this a good way?
Third, I only want to perform operations (such as average the data, convert units or multiply two columns together) on 10 of the 30 plus columns and print out results to output.txt file. For example, In testdata.txt file above, I want to skip first seven columns. I then want to take column 8 and multiply by 100 then divide by 3 and output result to output file. I want to do same for column 9. Column 10 I want to multiply by different number (by 3.5).
So I was just wondering if it's possible to create a program with JAVA that uses an algorithm to summarize data inputed. I've never done something like this before, If this is not possible with Java is it possible with C++ or any other language??
I'm trying to read a xml file and delete it's contents. I do this by reading the file,writing it to a temp and then overwriting the original with the temp by renaming it
//overwrite original xml file with new file boolean successful = outputFile.renameTo(inputFile); System.out.println("success");
It does say the value of the local variable is not used however. I've debugged to ensure it hits the code it always prints out the line after too.It just does not overwrite my original xml file with the temp one.
It's had votes on stack so I thought that would of been reputableStack - overwrite but the second one got voted as a good answer. But still I would like to know if my code can work or not.
I am making a gradebook program that calculates the averages of 25 students using 2D arrays in which the students have four test grades. I have figured out how to display the averages of each student in one column but I cant seem to figure out how to display the letter grade of the average into another column.
Right now my program reads from a .txt doc
Heres what I've got.
TestGradeBook.java
import java.util.*; import java.io.*; public class TestGradeBook { public static void main (String [] args ) throws IOException{ //Declarations final int ROWS = 100; final int TESTS = 4;
[Code] .....
GradeBook_Data.txt Name100100100100 // basic name and grades
Well my code is supposed to ask for an input file and then (ex: input.txt), read the input file and create an output.txt file with the anagram for the words in the file. Also it should be displayed on the screen. However my code doesn't display the anagram on screen or the output file!
/* This program will read a file given by the user, read the words within the file and determine anagrams of the given words. If the file that the user inputs is empty, then the program will output "The input file is empty." * The program will read the file line by line, counting the total number of words read. If there are more than 50 words, "There are more than 50 words." * will be printed, and the program will terminate. After each line is read, the words in the line will be separated,punctuation characters will be removed, and upper case characters will be switched to lower case. * If any word is larger than 12 characters, that word will not be considered in the total amount of words in the file and it will not be sorted. * After each word is read, the letters will be sorted and stored into an array containing each * word's 'signature'. After all the words have been read, words will be printed to the output file on the same line based upon their signature. */
public class Anagram { //Creating constants for maximum words in file and maximum chars in word public static final int MAX_CHARS = 12; public static final int MAX_WORDS = 50;
New to programming. Am supposed to create a program that reads a text file (of integers) and computes a series of computations on these integers. I don't have the code for the integers in my code yet, (i know how to do those), but am struggling getting the array to simply print in the print writer. I have the user select a text file, read the file with a scanner, and then save the computations done from my code into another file. specifically, the problem is as follows: Write a program that uses a file chooser dialog to select a file containing some integers. The file contains an integer N followed by N integers. The program then uses a file chooser dialog to let the user specify the name and location of an output file to write results to.The data written to the output file will be as follows
(1) The original list of N numbers from the input file, (2) The original list of N numbers printed in reverse order of how they appear in the input file. (3) The sum and average of these numbers, (4) The minimum of all the numbers, (5) The maximum of all the numbers.
I am creating a program where it reads the data inside a file and then places this data into arrays. The file I created has numbers 1-30 in it, file named, testing1.txt .
I am unable to post my code, it redirects me to a 'Page not found' page.
The problem with my program is a variable that I have initialized, is being said its not being initialized.
I am supposed to read in a file and extract the data. I am trying to add a Long into an Array that I initialized. So this is how my method looks like :
Java Code:
public void readOSMWay(File osm){ try { Scanner output = new Scanner(osm); while(output.hasNext()){ String line = output.nextLine().replace("^s+",""); if(line.startsWith(" <way")){ Road way = new Road(line,true);
[Code]...
I am having problem with the else if block. I am supposed to add all the Long values into the array.
error: Java Code: The method add(Long) in the type ArrayList<Long> is not applicable for the arguments (String) mh_sh_highlight_all('java');
I am developing a java code using netbeans for encryption decryption by RSA algorithm. Swings and file handling play a major role in these code. My encryption code is working nicely but the code for decryption is not since keys file is not being read. That is why variable mod and pri are getting null values and the following error stack is coming. I know where the problem is somewhere in void readkeys() function but cannot solve it.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at java.math.BigInteger.modPow(BigInteger.java:1579) at rsakeydecryption1.RsaKeyDecryption.decryption(RsaKeyDecryption1.java:167) at rsakeydecryption1.RsaKeyDecryption.read_output(RsaKeyDecryption1.java:294) at rsakeydecryption1.RsaKeyDecryption.actionPerformed(RsaKeyDecryption1.java:330)
Pass each index each time to a method returning all rows but getting stuck with DS to use. I think ArrayList wont suffice since i need separated data. Should i use a 2D array? Do i need to read and store data in a DS in order to achieve the goal?
2) Should i make 3 different classes with getters and setters for authors, book and magazine?
I have a random access file stream. I have below code I want to written data that is currently pointed by pointer till the end and display that data on System.out Stream but it is not working my code is
//Create a Random Access File java.io.RandomAccessFile random=new java.io.RandomAccessFile("D:/input.txt","rw"); //Position the pointer to a seek try { random.seek(300); long pointer=random.getFilePointer(); System.out.println("Current Pointer is:"+pointer); int a; while((a=random.read())!=-1) { System.out.println(a); }
Where am I wrong? Although it is returning actual position of pointer in pointer using
I need to read a csv file from the disk and manipulate the data inside. My problem is that if the csv (excel format) contains "" in any of it's values the whole string line gets saved/displayed incorrectly . For example for the line in the csv file :
I'm trying to figure out the necessary code for reading integers from a text file, then placing them withing the two-dimensional array I have created, and then finally printing the array using a nested for-loop. I have attached the file I would like to read from. I'm having trouble figuring out how to reference the text file with the integers, and also how to properly create a dynamic preface for each row of the array. I want the preface to display as "Week #: ", with # being the row number. I tried to create an integer to be used that way, but NetBeans tells me whatever integer I declare has already been defined in method main. I know I need to use scanner to read the file. I would like the output to display like this:
- from the main class will arrive three variable (String name_used, int level_choose, int level_result)
I have a .txt file with this kind of formatting:
mario 1 1 0 1 0 1 carlo 0 0 0 1 1 0 ...
Where I use 1 and 0 in the main for write if the level (you see that the numbers are always sixr? are egual to six level existing) BEFORE is done correct or wrong
- when in the main a user make a level a feedback coming back from the class level saying if the user made the count correctly or wrong. and i wanna replace the value (1 or 0) in the txt file with the new level result.
So i have all what i need as parameters i think.
name_used to look for the correct line in .txt file with .indexOf level_choosed to go throught the correct index of that line level_result (1 or 2) to be replaced with the existing one
Java Code:
public void salvaRisultati(String name_used, int level_choosed, int result_of_level) throws FileNotFoundException{ } } mh_sh_highlight_all('java');
I am trying to make a java program which should count the occurrences of a specific character in a string. I have 1 error - "cannot find method charAt(int)". Here is what I have.
import java.util.Scanner; public class ch4q5 { public static void main(String[] args) { String input ; String t ; int c = 0;
I'm having a bit of trouble with using the Scanner and the Printwriter. I start with a file like this (1 = amount of Houses in the file)
1 FOR SALE: Emmalaan 23 3051JC Rotterdam 7 rooms buyprice 300000 energylevel C
The user gets (let's say for simplicity) 3 options:
1. Add a House to the file, 2. Get all Houses which fullfil requirements (price, FOR SALE / SOLD etc.) and 3. Close the application.
This is how I start:
Scanner sc = new Scanner (System.in); while (!endLoop) { System.out.println("Make a choice); System.out.println("1) Add House"); System.out.println("2) Show Houses"); System.out.println("3) Exit"); int choice = sc.nextInt();
Then I have a switch for all of the three cases. I keep the scanner open, so Java can get the user input (house = for sale or sold, price = ... etc). If the user chose option 1, and all information needed is inputted and scanned, the House will be written to the file (which looks like what I typed above).
For this, I use try (PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("Makelaar.txt", false)))). This works perfectly (at least so it seems.)
If the user chose option 1, and all requirements are inputted and scanned, the Houses will be read (scanner) from the file and outputted. For this I use the same Scanner sc. This also works perfectly (so it seems atleast).
My problem is as follows: If a House has been added, I can only read the House(s) which were already in the file. Let's say I have added 2 houses, and there were from the start 3 houses. If option 2 is chosen, the first 3 houses will be scanned perfectly. An exception will be caught for the remaining 2 (just added) Houses. How can I solve this? I tried to close the Scanner, and reopening it, but apparently Java doesn't agree with this
I am learning about arrays in my class and my professor has a habit of throwing in code without explaining. We are doing a program called storing largest numbers where we read data from a file and place the larger of the two numbers in the corresponding position of a third array. They are in 4 by 4 format. Here is the ending code
import java.io.*; import java.util.*; public class prog464aStoringLargestNums { public static void main(String[] args)