题目描述
编制一个乘法运算的程序。
从键盘读入2个100以内的正整数,进行乘法运算并以竖式输出。
样例输入
16 8
样例输出
16
× 8
━━━
128
8×16=128,则第四行128右侧对准个位输出。计算完成,不再输出。
再例如:
输:
87x76
输出:
87
×76
━━━
522
609
━━━
6612
输入
输入只有一行,是两个用空格隔开的数字,均在1~99之间(含1和99)。
输出
输出为4行或7行,符合乘法的竖式运算格式。
**注意,**乘号和下划线为特殊符号,可以从样例中复制黏贴。
样例输入
5 2
样例输出
5
× 2
━━━
10
解题思路:
这道题的格式很重要,格式稍微不对判题机就过不了,所以注意格式细节
代码如下:
import java.util.Scanner;
/**
* 乘法运算
* @author hf
*
*/
public class Cyyw1489 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
// 先打印前三行
System.out.println(String.format("%4d", a));
System.out.println("×"+String.format("%2d", b));
System.out.println("━━━");
// 当b是两位数需要添加的部分
if (b >= 10) {
// 当尾数为0时
if (b % 10 == 0) {
System.out.println(" 00");
} else { // 尾数上得到的乘数
System.out.println(String.format("%4d", a*(b%10)));
}
// 首位上得到的乘积
System.out.println(String.format("%3d", a*(b/10)));
System.out.println("━━━");
}
System.out.println(String.format("%4d", a*b)); //乘积结果值
sc.close();
}
}
运行示例: