Mô tả bài toán
Viết chương trình Console, với Phương thức HackerSpeak có thể mã hóa nội dung tin nhắn của người dùng.
//AlternatingCaps("Hello") ➞ "HeLlO"
//AlternatingCaps("Hey, how are you?") ➞ "HeY, hOw aRe yOu?"
//AlternatingCaps("OMG!!! This website is awesome!!") ➞ "OmG!!! tHiS WeBsItE Is aWeSoMe!!"
//Rules:
//- First character is alway UPPERCASE
Cách giải quyết
Tạo phương thức AlternatingCaps(string msg) , với các xử lý sau:
- Chuyển chuỗi nội dung tin nhắn
msg thành mảng các ký tự characters
- Duyệt vòng lặp từ
0 -> characters.Length , xét:
- Nếu
index % 2 == 0 , tức là các ký tự chẵn (bao gồm ký tự thứ 0, 2, 4, 6, ...) -> ta sẽ chuyển thành chữ in hoa.
- Ngược lại, nếu
index % 2 != 0 , tức là các ký tự lẻ (bao gồm ký tự thứ 1, 3, 5, 7, ...) -> ta sẽ chuyển thành chữ in thường.
Source code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AlTeRnAtInG_CaPs
{
class Program
{
//AlternatingCaps("Hello") ➞ "HeLlO"
//AlternatingCaps("Hey, how are you?") ➞ "HeY, hOw aRe yOu?"
//AlternatingCaps("OMG!!! This website is awesome!!") ➞ "OmG!!! tHiS WeBsItE Is aWeSoMe!!"
//Rules:
//- First character is alway UPPERCASE
static string AlternatingCaps(string msg)
{
char[] characters = msg.ToCharArray();
for (int i = 0; i < characters.Length; i++)
{
if ((i % 2) == 0) //0, 2, 4, 6 ...
{
characters[i] = Char.ToUpper(characters[i]);
}
else //1, 3, 5, 7, ...
{
characters[i] = Char.ToLower(characters[i]);
}
}
return new string(characters);
}
static void Main(string[] args)
{
Console.WriteLine("Enter your secret message: ");
string msgInput = Console.ReadLine();
Console.WriteLine("Hacker speak: ");
string hacked = AlternatingCaps(msgInput);
Console.WriteLine(hacked);
Console.ReadKey();
}
}
}
Github
https://github.com/kellyfire611/learning.nentang.vn-csharp/blob/master/src/AlTeRnAtInG_CaPs%E2%80%8B%E2%80%8B%E2%80%8B%E2%80%8B%E2%80%8B/Program.cs
|