Re: Java Delemma

  • From: Alex Hall <mehgcap@xxxxxxxxx>
  • To: programmingblind@xxxxxxxxxxxxx
  • Date: Mon, 28 Jun 2010 23:42:42 -0400

Glad it worked, or mostly worked. I am not sure why you would get two
lines right before the final paragraph...

On 6/28/10, Gilbert Neiva <gneiva@xxxxxxx> wrote:
> Hi Alex. I just found out that the output file doesn't  need two lines above
> the last paragraph. As a result I made the following if and else if
> statements.
>
> if (inputString.length() < 1)
>    {
>     outFile.print("\n");
>     }
>    else if (inputString.length() > 0)
>    {
>     inputString = blanks+inputString;
>     }
>
> When I checked the outfile.d2 file, the last paragraph still had two lines
> above it, but at least the last paragraph was properly indented. Here is my
> new class.
>
> import java.io.*; // importing input.output classes
> import java.util.Scanner;
>
> public class History
> {
>  static Scanner inFile; // Object that will read from file
>  static PrintWriter outFile; // object that will print to file
>
>  static void printHistory() throws IOException
>  // Start of void method
>  {
>   String inputString; // String for line of text in file
>   final String blanks = "     ";
>   // Five blanks inserted at beginning of paragraphs
>   inFile = new Scanner(new FileReader("history.d1"));
>   // Instantiating new scanner and new filereader object with
>   // history.d1 as argument
>   outFile = new PrintWriter(new FileWriter("history.d2"));
>   // Instantiating new printWriter object
>   // It will be used to write to a file
>   inputString = blanks+inFile.nextLine();
>   outFile.println(inputString);
>   // Printing 5 spaces plus line
>   // to file
>
>   while (inFile.hasNextLine())
>   {
>    inputString = inFile.nextLine();
>
>    if (inputString.length() < 1)
>    {
>     outFile.print("\n");
>     }
>    else if (inputString.length() > 0)
>    {
>     inputString = blanks+inputString;
>     }
>    outFile.println(inputString);
>    // Printing line of text to file
>   }
>   inFile.close();
>   outFile.close();
>   // Closing files
>  }
>
>  public static void main(String[] args) throws IOException
>  {
>   printHistory();
>   // Calling method printHistory()
>  }
> } // End of class
>
> Gilbert Neiva
>
> ----- Original Message -----
> From: "Alex Hall" <mehgcap@xxxxxxxxx>
> To: <programmingblind@xxxxxxxxxxxxx>
> Sent: Monday, June 28, 2010 8:30 PM
> Subject: Re: Java Delemma
>
>
> And the problem is that the final paragraph does not get the indent...
> What if you changed the if statement to something like this:
> if (inputString.length() < 1)
> {
> outFile.println("\n");
> inputString = blanks+inputString;
> }
>
> I say this because, and I could be wrong here, each call to a file
> object's nextLine() method moves you down a line in the file, as
> though you had pressed the down arrow (assuming the arrows moved you
> by full lines, not just as many words as are on one line of a
> monitor). When you assign inputString to inFile.nextLine(), you press
> this hypothetical down arrow. Then, when you assign inputString to
> blanks+inFile.nextLine(), you are pressing the arrow again, so the
> line may not be correct. I am not sure if that will do it, but it is
> the only thing I see. Someone on the list will likely be able to
> direct you better.
>
>
> On 6/28/10, Gilbert Neiva <gneiva@xxxxxxx> wrote:
>> Here is the entire class.
>>
>> import java.io.*; // importing input.output classes
>> import java.util.Scanner;
>>
>> public class History
>> {
>>  static Scanner inFile; // Object that will read from file
>>  static PrintWriter outFile; // object that will print to file
>>
>>  static void printHistory() throws IOException
>>  // Start of void method
>>  {
>>   String inputString; // String for line of text in file
>>   final String blanks = "     ";
>>   // Five blanks inserted at beginning of paragraphs
>>   inFile = new Scanner(new FileReader("history.d1"));
>>   // Instantiating new scanner and new filereader object with
>>   // history.d1 as argument
>>   outFile = new PrintWriter(new FileWriter("history.d2"));
>>   // Instantiating new printWriter object
>>   // It will be used to write to a file
>>   inputString = blanks+inFile.nextLine();
>>   outFile.println(inputString);
>>   // Printing 5 spaces plus line
>>   // to file
>>
>>   while (inFile.hasNextLine())
>>   {
>>    inputString = inFile.nextLine();
>>
>>    if (inputString.length() < 1)
>>    {
>>    outFile.println("\n");
>>    inputString = blanks+inFile.nextLine();
>>    }
>>    outFile.println(inputString);
>>    // Printing line of text to file
>>   }
>>   inFile.close();
>>   outFile.close();
>>   // Closing files
>>  }
>>
>>  public static void main(String[] args) throws IOException
>>  {
>>   printHistory();
>>   // Calling method printHistory()
>>  }
>> } // End of class
>>
>> Gilbert Neiva
>>
>> ----- Original Message -----
>> From: "Alex Hall" <mehgcap@xxxxxxxxx>
>> To: <programmingblind@xxxxxxxxxxxxx>
>> Sent: Monday, June 28, 2010 6:58 PM
>> Subject: Re: Java Delemma
>>
>>
>>>I don't follow. Could you post the entire loop so we can see what is
>>> going on? Also, comments are welcomed! Remember that in Java, two
>>> slashes mean that the rest of the line is a comment, so you could put
>>> this in your file:
>>> if(1a==0){ //check that a is really 0
>>> System.out.print("var a is 0!"); //tell user
>>> }//end if
>>>
>>> On 6/28/10, Gilbert Neiva <gneiva@xxxxxxx> wrote:
>>>> I succeeded in making my application that inputs a file, prints 5 spaces
>>>> at
>>>> the beginning of a paragraph and prints to a file with the new changes.
>>>> Now
>>>> I have another problem. The last paragraph of the input file has two
>>>> blank
>>>> lines above it. When my application runs and creates the output file,
>>>> the
>>>> last paragraph of the output file has two lines above it, but the
>>>> paragraph
>>>> is not indented. The blank line just above the paragraph has 5 space
>>>> characters in it. The rest of the output file is fine. The paragraphs in
>>>> the
>>>> output file that have no indent issues have one blank line above them
>>>> which
>>>> is what I want. I made an if statement inside a while statement to
>>>> detect
>>>> the blank lines and print an extra blank line to the output file as well
>>>> as
>>>> store the new paragraph indented 5 spaces in a string varriable. The if
>>>> statement is as follows.
>>>>
>>>> if inputString.length() < 1
>>>> {
>>>> outFile.println("\n");
>>>> inputString = inFile.nextLine();
>>>> }
>>>>
>>>> What do I do to correct my last paragraph so it is indented properly,
>>>> but
>>>>
>>>> I
>>>> still have two blank lines above it?
>>>>
>>>> Gilbert Neiva
>>>>
>>>> ----- Original Message -----
>>>> From: "Alex Hall" <mehgcap@xxxxxxxxx>
>>>> To: <programmingblind@xxxxxxxxxxxxx>
>>>> Sent: Monday, June 28, 2010 1:36 PM
>>>> Subject: Re: Java Delemma
>>>>
>>>>
>>>>> You want to use getNext(), not hasNext(). HasNext is a test to see if
>>>>> any lines remain; you might say something like
>>>>> while(file.hasNextLine()){
>>>>> txt+=file.getNextLine();
>>>>> }
>>>>> Please note that it has been some time since I did Java, so the method
>>>>> may not be called getNext, but it is something similar which you can
>>>>> find in the docs.
>>>>> The error is because hasNext returns true or false (a boolean) where
>>>>> getNext returns an actual string, which is what you want.
>>>>>
>>>>>
>>>>> On 6/28/10, Gilbert Neiva <gneiva@xxxxxxx> wrote:
>>>>>> I'm trying to write an application which takes an input file, and adds
>>>>>> 5
>>>>>> blank spaces at the beginning of each paragraph. Then the application
>>>>>> is
>>>>>> to
>>>>>> write to an output file with the new changes. The application will
>>>>>> detect
>>>>>> the beginning of a new paragraph because there is a blank line before
>>>>>> it.
>>>>>>
>>>>>> I
>>>>>> test for the blank using the following if statement.
>>>>>>
>>>>>> if inputString.length() < 1
>>>>>> {
>>>>>> inputString = blanks+inFile.hasNextLine();
>>>>>> }
>>>>>>
>>>>>> When I tried to compile the application using the javac program, I get
>>>>>> the
>>>>>> following error.
>>>>>>
>>>>>> History.java:23: incompatible types
>>>>>> found   : boolean
>>>>>> required: java.lang.String
>>>>>> inputString = inFile.hasNextLine();
>>>>>> ^
>>>>>> 1 error
>>>>>>
>>>>>> The source code for the application is below.
>>>>>>
>>>>>> import java.io.*; // importing input.output classes
>>>>>>
>>>>>> import java.util.Scanner;
>>>>>>
>>>>>>
>>>>>> public class History
>>>>>>
>>>>>> {
>>>>>>
>>>>>> public static Scanner inFile;
>>>>>>
>>>>>> public static PrintWriter outFile;
>>>>>>
>>>>>>
>>>>>> public static void main(String[] args)
>>>>>>
>>>>>> {
>>>>>>
>>>>>> String inputString; // Input string from a line in file
>>>>>>
>>>>>> final String blanks = " ";
>>>>>>
>>>>>> // Five blanks inserted at beginning of each paragraph
>>>>>>
>>>>>> inFile = new Scanner(new FileReader("history.d1"));
>>>>>>
>>>>>> // Instantiating new scanner and new filereader object with
>>>>>>
>>>>>> // history.d1 as argument
>>>>>>
>>>>>> outFile = new PrintWriter(new FileWriter("history.d2"));
>>>>>>
>>>>>> // Instantiating new printWriter object
>>>>>>
>>>>>> // It will be used to write to a file
>>>>>>
>>>>>> inputString = blanks+inFile.hasNextLine();
>>>>>>
>>>>>> outFile.println(inputString);
>>>>>>
>>>>>>
>>>>>> while (inFile.hasNextLine())
>>>>>>
>>>>>> {
>>>>>>
>>>>>> inputString = inFile.hasNextLine();
>>>>>>
>>>>>>
>>>>>> if (inputString.length() < 1)
>>>>>>
>>>>>> {
>>>>>>
>>>>>> inputString = blanks+inFile.hasNextLine();
>>>>>>
>>>>>> }
>>>>>>
>>>>>> outFile.println(inputString);
>>>>>>
>>>>>> }
>>>>>>
>>>>>> inFile.close();
>>>>>>
>>>>>> outFile.close();
>>>>>>
>>>>>> }
>>>>>>
>>>>>> }
>>>>>>
>>>>>>
>>>>>>
>>>>>> What am I doing wrong?
>>>>>>
>>>>>>
>>>>>>
>>>>>> Gilbert Neiva
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Have a great day,
>>>>> Alex (msg sent from GMail website)
>>>>> mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap
>>>>> __________
>>>>> View the list's information and change your settings at
>>>>> //www.freelists.org/list/programmingblind
>>>>>
>>>>
>>>> __________
>>>> View the list's information and change your settings at
>>>> //www.freelists.org/list/programmingblind
>>>>
>>>>
>>>
>>>
>>> --
>>> Have a great day,
>>> Alex (msg sent from GMail website)
>>> mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap
>>> __________
>>> View the list's information and change your settings at
>>> //www.freelists.org/list/programmingblind
>>>
>>>
>>
>> __________
>> View the list's information and change your settings at
>> //www.freelists.org/list/programmingblind
>>
>>
>
>
> --
> Have a great day,
> Alex (msg sent from GMail website)
> mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
>
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
>
>


-- 
Have a great day,
Alex (msg sent from GMail website)
mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap
__________
View the list's information and change your settings at 
//www.freelists.org/list/programmingblind

Other related posts: