String 缩放平方字符串
再次进行代码战挑战 今天我有一个问题: " 将为您提供一个由n行组成的字符串,每个子字符串的长度为n个字符。例如:String 缩放平方字符串,string,scala,count,String,Scala,Count,再次进行代码战挑战 今天我有一个问题: " 将为您提供一个由n行组成的字符串,每个子字符串的长度为n个字符。例如: s=“abcd\nefgh\nijkl\nmnop” 我们将研究这个正方形弦的“水平”和“垂直”缩放 字符串的k水平缩放包括复制字符串的每个字符的k倍(除了“\n”) 示例:2-s的水平缩放:=>“aabbccdd\neeffgghh\niijkkll\nmmnnoopp” 字符串的v垂直缩放包括复制v乘以平方字符串的每个部分 示例:2-垂直缩放s:=>“abcd\nabcd\ne
s=“abcd\nefgh\nijkl\nmnop”
我们将研究这个正方形弦的“水平”和“垂直”缩放
字符串的k水平缩放包括复制字符串的每个字符的k倍(除了“\n”)
示例:2-s的水平缩放:=>“aabbccdd\neeffgghh\niijkkll\nmmnnoopp”
字符串的v垂直缩放包括复制v乘以平方字符串的每个部分
示例:2-垂直缩放s:=>“abcd\nabcd\nefgh\nefgh\nijkl\nijkl\nmnop\nmnop”
功能标度(strng,k,v)将执行k水平标度和v垂直标度
示例:a=“abcd\nefgh\nijkl\nmnop”
比例(a,2,3)
-->“aabbccdd\naabbcdd\naabbcdd\naabbcdd\neeffgghh\neeffgghh\niijjkkl\niijkkll\nmmnnoopp\nmmnnoopp\nmmnnoopp”
"
整个方法必须包含在一个称为“规模”的单一功能中
我的问题是,通过我的实验,我已经达到了一个特定的点,在这个点上,我不知道如何继续前进。我有一个乘法字符列表,但我不知道如何重新组合,所以我可以根据指令使用垂直缩放再次乘法
另外,我只是澄清一下,我并没有只处理函数本身,但在def main中,我尝试了使用随机字符串来达到所需的输出
我的计划是,只有当我对随机字符串的输出感到满意并且满足程序的假设时,才开发函数本身
如果需要的话,我会提供测试,我起初没有这样做,因为我认为我的程序太不成熟了,有必要采取这样的行动。
我不得不承认,我已经走到了死胡同,所有新想法//突破我已经创造出来的东西都是非常受欢迎的
我的当前输出:
向量(列表(aa)、列表(bb)、列表(cc)、列表(dd)、列表(nn)、列表(ee)、列表(ff)、列表(gg)、列表(hh)、列表(nn)、列表(ii)、列表(jj)、列表(kk)、列表(ll)、列表(nn)、列表(mm)、列表(oo)、列表(pp))
您似乎将换行符
\n
与想象中的双字符分隔符/n
混淆了。返回并重新阅读挑战。只需将每个字符乘以第一个Int
参数,并将每行乘以第二个Int
参数
def scale(s :String, x :Int, y:Int) :String =
s.split("\n")
.map(_.map(_.toString*x).mkString("","","\n") * y)
.mkString
测试:
val s = "abcd\nefgh\nijkl\nmnop"
scale(s, 3, 2)
//res0: String =
//"aaabbbcccddd
//aaabbbcccddd
//eeefffggghhh
//eeefffggghhh
//iiijjjkkklll
//iiijjjkkklll
//mmmnnnoooppp
//mmmnnnoooppp
//"
val s = "abcd\nefgh\nijkl\nmnop"
scale(s, 3, 2)
//res0: String =
//"aaabbbcccddd
//aaabbbcccddd
//eeefffggghhh
//eeefffggghhh
//iiijjjkkklll
//iiijjjkkklll
//mmmnnnoooppp
//mmmnnnoooppp
//"