Building Java Programs: A Back To Basics Approach (5th Edition)
Building Java Programs: A Back To Basics Approach (5th Edition)
5th Edition
ISBN: 9780135471944
Author: Stuart Reges, Marty Stepp
Publisher: PEARSON
bartleby

Concept explainers

bartleby

Videos

Expert Solution & Answer
Book Icon
Chapter 6, Problem 13E

Explanation of Solution

Program code:

JavaStripper.java

//import the required packages

import java.io.File;

import java.util.Arrays;

import java.util.Scanner;

//define a class JavaStripper

public class JavaStripper

{

//define the main

public static void main(String[] args) throws Exception

{

//create the object of File class

File fileName = new File("htmlfile.txt");

//create the object of Scanner class to refer the file

Scanner inFile = new Scanner(fileName);

//call the method stripComments()

stripComments(inFile);

    }

//define a method stripComments()

public static void stripComments(Scanner inFile) throws Exception

{

//create a string variable inputstring

String inputstring = "";

//iterate a while loop

while (inFile.hasNextLine())

{

    //read the line to inputstring

inputstring = inputstring + " \n " + inFile.nextLine();

}

//create a character array

char[] inputchar = inputstring.toCharArray();

//create an integer variable

int nCommentBegin = 0;

//create a boolean variable

boolean IsLineCommentOpen = false;

//iterate a for loop

for(int i = 0; i<inputchar.length; i++)

{

    //if the condition is true

    if(inputchar[i] == '/' && inputchar[i+1] == '*')

    {

        //set as starting of comment

        nCommentBegin = i;

    }

    //else condition

else if(inputchar[i] == '*' && inputchar[i+1] == '/')

    {

        //remove the comments within /* */

char[] str2Remove = Arrays.copyOfRange(inputchar, nCommentBegin,(i+2));

        //set the value of inputstring

inputstring = inputstring.replace(new String(str2Remove), "");

    }

    //else condition

else if(inputchar[i] == '/' && inputchar[i+1] == '/')

    {

        //set as the beggning of single line comment

        nCommentBegin = i;

        IsLineCommentOpen = true;

    }

    //else if the character is \n

    else if(inputchar[i] == '\n')

    {

        //checks the va

        if(IsLineCommentOpen)

        {

            //set the value of str2Remove

char[] str2Remove = Arrays.copyOfRange(inputchar, nCommentBegin,i);

//call the replace() method

inputstring = inputstring.replace(new String(str2Remove), "");

//set the value of IsLineCommentOpen to false

IsLineCommentOpen = false;

        }

        }

}

//print the inputstring

System...

Blurred answer

Chapter 6 Solutions

Building Java Programs: A Back To Basics Approach (5th Edition)

Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education
Constants, Variables, Data types, Keywords in C Programming Language Tutorial; Author: LearningLad;https://www.youtube.com/watch?v=d7tdL-ZEWdE;License: Standard YouTube License, CC-BY