如何输出和上一行字符数相同的string?

图片说明

初学java,做习题二时碰到两处疑点,
第一个是题目要求随机给输入的值,比如第一次测试输入的是t=50 , D = 15, k = 30, d = 20,第二次输入的是k=50, D = 10, d = 100, t = 30. t,k,d,D是四个变量,带入公式后会计算出结果。我不清楚如何让随机输入的值自己对应到相应的变量上。
第二个疑问是题目要求在output中输出两行的" **",而且要求它的长度要和中间一行的字符长度相等,因为中间行的数会发生变化,所以字符长度也会变,怎样能让两行的自动和它保持长度一致?

另外附上初步的代码,希望有大佬帮助!!万分感谢!!

图片说明

你要有一个最长的长度,然后每行不足的时候,在某个地方填充空格,得到一样长度的字符串。
对此,可以用StringUtils的leftPad(),rightPad(),center()
https://blog.csdn.net/rwm1137/article/details/78554358

对于字符串填充,使用1楼的即可,

也可以自己写,最简单的就是获取中间那行的长度然后手动拼接指定长度*字符串,System.out.printf() 应该是没法满足你的要求的。

对于第一个随机给数据的问题,我看题目里面写的貌似是下面这句吧?

In order to avoid ambiguity, the name of each variable is given

输入时给出了每个变量的变量名吧?