Herausforderung: Methoden
Der Code enthält eine Struktur namens Cypher
, die im Wesentlichen eine Art Caesar-Verschlüsselung darstellt.
Die Caesar-Verschlüsselung ist ein Textkodierungsverfahren, das Nachrichten unlesbar macht, indem jeder Buchstabe um eine feste Anzahl von Positionen im Alphabet oder bei ASCII-Zeichen verschoben wird. Wenn beispielsweise jedes Zeichen in "HelloWorld" gemäß der ASCII-Tabelle um 7 Positionen verschoben wird, ergibt sich "Olssv^vysk." Es handelt sich um einen Geheimcode, bei dem jeder Buchstabe durch einen anderen Buchstaben ersetzt wird, der eine bestimmte Anzahl von Schritten entfernt ist. Dies kann als einfache Methode betrachtet werden, um Nachrichten oder Texte zu verbergen.
Weitere Informationen zur Caesar-Verschlüsselung finden Sie auf der Wikipedia-Seite. Für die Lösung dieser Übungsaufgabe ist dies jedoch nicht erforderlich.
Lies den Code und ergänze die Lücken, damit er ordnungsgemäß funktioniert. Das folgende Zielprogramm soll wie folgt aussehen:
- Die Methode
setText
wandelt den übergebenen Text in einen codierten Text um und speichert ihn im Feldtext
. Diese Methode nimmt ein Argument vom Typstring
mit dem Namentext
entgegen und gibt keinen Wert zurück; rawText
gibt den Inhalt des Feldestext
zurück. Diese Methode nimmt keine Argumente entgegen;decodedText
dekodiert den Inhalt des Feldestext
und gibt das Ergebnis zurück. Auch diese Methode nimmt keine Argumente entgegen.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; struct Cypher { public string text; ___ { string encodedText = ""; foreach(char chr in text) encodedText += (char) (chr + 7); ___ = encodedText; } public string rawText() { ___ } ___ { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); ___ } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
- Es ist eine gute Praxis, das Schlüsselwort
this
zu verwenden, wann immer auf die Felder der Struktur verwiesen wird. - Das Schlüsselwort
void
wird als Rückgabewert verwendet, wenn die Methode keinen Wert zurückgibt.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; struct Cypher { public string text; public void setText(string text) { string encodedText = ""; foreach (char chr in text) encodedText += (char)(chr + 7); this.text = encodedText; } public string rawText() { return this.text; } public string decodedText() { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); return decodedText; } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you show me the code that needs to be filled in?
What are the blanks that need to be completed in the code?
Can you explain how the encoding and decoding should work in this context?
Awesome!
Completion rate improved to 2.04
Herausforderung: Methoden
Swipe um das Menü anzuzeigen
Der Code enthält eine Struktur namens Cypher
, die im Wesentlichen eine Art Caesar-Verschlüsselung darstellt.
Die Caesar-Verschlüsselung ist ein Textkodierungsverfahren, das Nachrichten unlesbar macht, indem jeder Buchstabe um eine feste Anzahl von Positionen im Alphabet oder bei ASCII-Zeichen verschoben wird. Wenn beispielsweise jedes Zeichen in "HelloWorld" gemäß der ASCII-Tabelle um 7 Positionen verschoben wird, ergibt sich "Olssv^vysk." Es handelt sich um einen Geheimcode, bei dem jeder Buchstabe durch einen anderen Buchstaben ersetzt wird, der eine bestimmte Anzahl von Schritten entfernt ist. Dies kann als einfache Methode betrachtet werden, um Nachrichten oder Texte zu verbergen.
Weitere Informationen zur Caesar-Verschlüsselung finden Sie auf der Wikipedia-Seite. Für die Lösung dieser Übungsaufgabe ist dies jedoch nicht erforderlich.
Lies den Code und ergänze die Lücken, damit er ordnungsgemäß funktioniert. Das folgende Zielprogramm soll wie folgt aussehen:
- Die Methode
setText
wandelt den übergebenen Text in einen codierten Text um und speichert ihn im Feldtext
. Diese Methode nimmt ein Argument vom Typstring
mit dem Namentext
entgegen und gibt keinen Wert zurück; rawText
gibt den Inhalt des Feldestext
zurück. Diese Methode nimmt keine Argumente entgegen;decodedText
dekodiert den Inhalt des Feldestext
und gibt das Ergebnis zurück. Auch diese Methode nimmt keine Argumente entgegen.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; struct Cypher { public string text; ___ { string encodedText = ""; foreach(char chr in text) encodedText += (char) (chr + 7); ___ = encodedText; } public string rawText() { ___ } ___ { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); ___ } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
- Es ist eine gute Praxis, das Schlüsselwort
this
zu verwenden, wann immer auf die Felder der Struktur verwiesen wird. - Das Schlüsselwort
void
wird als Rückgabewert verwendet, wenn die Methode keinen Wert zurückgibt.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; struct Cypher { public string text; public void setText(string text) { string encodedText = ""; foreach (char chr in text) encodedText += (char)(chr + 7); this.text = encodedText; } public string rawText() { return this.text; } public string decodedText() { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); return decodedText; } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
Danke für Ihr Feedback!