Java :: Aufgabe #130

4 Lösungen Lösungen öffentlich

Pig Latin - Schweine Latein

Anfänger - Java von DrizZle - 15.06.2016 um 13:57 Uhr
Hier zum Wikipedia Post

Einführung:

Zitat:

Pig Latin (engl.; wörtlich: Schweine-Latein) bezeichnet eine Spielsprache, die im englischen Sprachraum verwendet wird.
Sie wird vor allem von Kindern benutzt, aus Spaß am Spiel mit der Sprache oder als einfache Geheimsprache, mit der Informationen vor Erwachsenen oder anderen Kindern verborgen werden sollen.


Erklärung:

Zitat:

Beginnt das Wort mit einem Konsonanten, so wird der initiale Konsonant oder Konsonantencluster ans Ende des Wortes verschoben und ein „ay“ angehängt. Zu betrachten ist hierbei nicht die Rechtschreibung, sondern die tatsächliche Aussprache: „Stumme“ Konsonantenbuchstaben, wie z. B. das „h“ in „honor“, sind keine Konsonanten.

loser → oser-lay
button → utton-bay
star → ar-stay
three → ee-thray
question → estion-quay
happy → appy-hay
Pig Latin → Ig-pay Atin-lay

Beginnt das Wort mit einem Vokal oder einem stummen Konsonanten, so wird direkt ein „ay“ angehängt.

eagle → eagle-ay
America → America-ay
honor → honor-ay


Aufgabe:
Schreibt ein Programm welches ein belibiges Wort ins Schweine Latein umwandelt und ausgibt. Auf die Regel mit Stummen H's kann man verzichten.

Lösungen:

vote_ok
von Tolot (100 Punkte) - 26.11.2016 um 21:02 Uhr
Für ein beliebiges Wort:
Quellcode ausblenden Java-Code
import java.util.*;

public class PigLatin {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
	    String vokale = "aeiou";
	    char[] vokalevec = vokale.toCharArray();
	    System.out.print("Wort eingeben: ");
	    String wort = sc.next();
	    char[] buchstaben = wort.toCharArray();
	    int Stelle = 0;
	    breakloop:
	    for(int i = 0 ; i< wort.length() ; i++) {
	    	for(int k = 0; k < vokale.length(); k++) {
	    		if(buchstaben[i] == vokalevec[k]) {
	    			//Vokal gefunden
	    			Stelle = i;
	    			break breakloop;	    			
	    		}
	    	}
	    }
	    StringBuffer ende = new StringBuffer();
	    for(int i = 0; i < Stelle ; i++) {
	    	ende.append(buchstaben[i]);
	    }
	    ende.append("ay");
	    String Endstueck = ende.toString();
	    StringBuffer anfang = new StringBuffer();
	    for(int i = Stelle; i< wort.length(); i++) {
	    	anfang.append(buchstaben[i]);
	    }
	    String Anfangsstueck = anfang.toString();
	    System.out.println(Anfangsstueck + " - " + Endstueck);
	}

}

Zitat:

Wort eingeben: three
ee - thray

vote_ok
von Hasenfrau (120 Punkte) - 11.01.2017 um 11:58 Uhr
Quellcode ausblenden Java-Code
import java.util.Scanner;

public class PigLatin {
	
	public static void Uebersetzen(){
		
		String anhang = "";
		String restwort = "";
		String komplettwort = "";
		
		Scanner wort = new Scanner(System.in);
		System.out.println("Welches Wort soll übersetzt werden?");
		String eingabe = wort.nextLine();
		
		String[] woerter = eingabe.split(" ");
		
		for(int j=0; j<woerter.length; j++){
			//System.out.println(woerter[j]);
			String geteilt[] = woerter[j].split("");
			
			if(geteilt[0].equals("a")||geteilt[0].equals("e")||geteilt[0].equals("i")||geteilt[0].equals("o")||geteilt[0].equals("u")||geteilt[0].equals("h")||geteilt[0].equals("A")||geteilt[0].equals("E")||geteilt[0].equals("I")||geteilt[0].equals("O")||geteilt[0].equals("U")||geteilt[0].equals("H")){
				komplettwort = woerter[j]+"-"+"ay";
			}else{
				for(int i=0; i<geteilt.length; i++){
					anhang = geteilt[0]+"ay";
					if(i!=0)restwort = restwort+geteilt[i];
				}
				komplettwort = restwort+"-"+anhang;
			}
			System.out.println(komplettwort);
			komplettwort = "";
			restwort = "";
		}
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Uebersetzen();

	}

}


vote_ok
von 0 (0 Punkte) - 21.09.2017 um 12:52 Uhr
Quellcode ausblenden Java-Code
public static void main(String[] args) {
		
		String[] terms = {"Hello", "THE", "question", "angry", "money"};
		
		for(int i =0;i<terms.length;i++){
			piggyLang(terms[i].toLowerCase());
		}
		
		

	}
	
	
	public static void piggyLang(String word){
		
		String firstLetter = word.substring(0,1);
		String twoLetters = word.substring(0,2);
		String out = word+"-";
		
		int index=0;
		 
		
		if(!vowelCheck(firstLetter)){
			
				if(twoLetters.equals("qu") || twoLetters.equals("th")){
					index=2;
				}else{	
					index=1;
				}
				out = word.substring(index)+"-"+word.substring(0,index);
			
		}	
		
		
		
		System.out.println(word + " --->>> " + out+"ay");
		
		
	}
	
	 private static boolean vowelCheck(String letter){
		
		String[] vowels = {"a", "e", "i", "o", "u"};
		
		
		  for (int i=0; i<vowels.length;i++){
		 
			if(letter.equals(vowels[i])){
				
				return true;
			}
		}
		return false;

	}



vote_ok
von paddlboot (3970 Punkte) - 30.07.2019 um 07:45 Uhr
Quellcode ausblenden Java-Code
import java.util.*;

public class PigLatin {
	public static void main (String[] args) {
		Scanner scanner = new Scanner(System.in);
		String res = "";
		
		System.out.println("### Pig-Latin ###");
		System.out.print("Bitte ein Wort eingeben: ");
		String eingabe = scanner.next();
		eingabe = eingabe.toLowerCase();
		
		if((eingabe.charAt(0) == 'a') || (eingabe.charAt(0) == 'e') || (eingabe.charAt(0) == 'i') || (eingabe.charAt(0) == 'o') || (eingabe.charAt(0) == 'u')) {
			res = eingabe + "-ay";
			
		} else if(((eingabe.charAt(0) == 's') && (eingabe.charAt(1) == 't')) || ((eingabe.charAt(0) == 'q') && eingabe.charAt(1) == 'u')){
			for(int i = 2; i < eingabe.length(); i++) {
				res += eingabe.charAt(i);
			}
			
			res += "-" + eingabe.charAt(0) + eingabe.charAt(1) + "ay";
			
		}else if((eingabe.charAt(0) == 't') && (eingabe.charAt(1) == 'h') && (eingabe.charAt(2)) == 'r') {
			for(int i = 3; i < eingabe.length(); i++) {
				res += eingabe.charAt(i);
			}
			
			res += "-" + eingabe.charAt(0) + eingabe.charAt(1) + eingabe.charAt(2) + "ay";
			
		}else {
			for(int i = 1; i < eingabe.length(); i++) {
				res += eingabe.charAt(i);
			}
			
			res += "-" + eingabe.charAt(0) + "ay";
		}
		
		System.out.println(res);
		
		scanner.close();
	}
}