Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I need a program written in Java. Write a simple line editor. Keep the entire te

ID: 3802155 • Letter: I

Question

I need a program written in Java.

Write a simple line editor. Keep the entire text in an ArrayList object, one line in a separate index position. Start the program with entering EDIT file, after which a prompt appears along with the line number. If the letter I is entered with a number n following it, then insert the text to be followed on line n. If I is not followed by a number, then insert the text on the current line. If D is entered with two numbers n and m,one n, or no number then delete lines n through m, line n, or the current line. Do the same with command L, which stands for listing lines. If A is entered, then append the text to the existing lines or the last line. Entry E signifies exit and saving a text file.

Example:

Input file: textin.txt

The first line

And another line

EDIT testin

1>The first line

2>

3> And another line

4> I 3

3> The second line

4> One more line

5> L

1>The first line

2>

3> The second line

4> One more line

5> And another line     // This is now line 5, not 3

5> D 2                          // line 5, since L was issued form line 5

4> L                             // line 4, since one line was deleted

1>The first line

2> The second line

3> One more line

4> And another line

5>D 2 4

4>L

1>The first line

2>A

1> not done yet

2> L

1>The first line not done yet

2> E

Output File: textout.txt

The first line not done yet

The lines that are left or changed after entering E must be saved in new text file. textout.txt

Explanation / Answer

import java.util.*;

import java.io.*;

public class Lineeditor

{

private static Node head;

  

class Node

{

int data;

Node next;

public Node()

{data = 0; next = null;}

public Node(int x, Node n)

{data = x; next =n;}

}

  

public void Displaylist(Node q)

{if (q != null)

{

System.out.println(q.data);

Displaylist(q.next);

}

}

  

public void Buildlist()

{Node q = new Node(0,null);

head = q;

String oneLine;

try{BufferedReader indata = new
BufferedReader(new InputStreamReader(System.in)); // read data from terminals
System.out.println("Please enter a command or a line of text: ");

oneLine = indata.readLine(); // always need the following two lines to read data

head.data = Integer.parseInt(oneLine);

for (int i=1; i<=head.data; i++)

{System.out.println("Please enter another command or a new line of text:");

oneLine = indata.readLine();

int num = Integer.parseInt(oneLine);

Node p = new Node(num,null);

q.next = p;

q = p;}

}catch(Exception e)
{ System.out.println("Error --" + e.toString());}

}

public static void main(String[] args)

{Lineeditor mylist = new Lineeditor();

mylist.Buildlist();

mylist.Displaylist(head);

}

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote