/* Programm mit zwei Scannern: einer zum Einlesen von Tastatur, einer zum Einlesen aus einer Datei.
*/
import java.util.Scanner;
import java.io.*;
public class StringBeispiel15 {
public static void main (String args[]) {
String str="";
Scanner scan = new Scanner(System.in);
Scanner sc;
String hans="";
int emilia = 0;
boolean aufgabe = false;
try{
sc = new Scanner(new File("StringBeispiel3.java"));
}
catch(Exception ioex){
System.out.println("Es ging etwas schief: ");
System.out.println(ioex.toString());
sc=scan;
}
/*
System.out.println("Ausgabe: ");
str=sc.nextLine();
System.out.println(str);
System.out.println( );
while( sc.hasNextLine() )
{
hans=sc.nextLine();
if( aufgabe == true ) {
System.out.println( hans );
}
if(hans.contains("//Aufgaben//")) {
aufgabe = true;
}
}
*/
String datei = "";
while (sc.hasNextLine()){
datei += sc.nextLine() + "\n";
}
int dateilaenge = 0;
String ausgabe = "";
boolean kommentar = false, kommentareinfach = false;
while( datei.length() > dateilaenge )
{
if( datei.substring( dateilaenge, dateilaenge + 1 ).contains( "/" ) && datei.substring( dateilaenge + 1, dateilaenge + 2 ).contains( "*" ) )
{
kommentar = true;
}
if( datei.substring( dateilaenge, dateilaenge + 1 ).contains( "/") && datei.substring( dateilaenge + 1, dateilaenge + 2 ).contains( "/" ) )
{
kommentareinfach = true;
}
if( kommentar == true || kommentareinfach == true )
{
if( kommentar == true )
{
// prüfen, ob Kommentar ende
if( datei.substring( dateilaenge, dateilaenge + 2 ).contains( "*/" ) )
{
kommentar = false;
}
}
else
{
// prüfen, ob Kommentar ende
if( datei.substring( dateilaenge, dateilaenge + 2 ).contains( "\n" ) )
{
kommentareinfach = false;
}
}
}
else
{
ausgabe = ausgabe + datei.substring( dateilaenge, dateilaenge + 1 );
}
dateilaenge += 1;
}
System.out.println( ausgabe );
}
}
//Aufgaben\\
/* Tipp1:
sc.hasNextLine() liefert wahr oder falsch, je nachdem ob in Datei eine
weitere Zeile steht oder nicht
Tipp2:
geht man mit dem Cursor auf den Klassennamen String, liefert F1
Infos zum Arbeiten mit Strings
Tipp3: Scanner
*/