【请问这个怎么打印】
package ass002;
import java.util.Scanner;
public class Ass002 {
private static Scanner sca;
public static void main(String[] args) {
System.out.print("Please enter two integers (1~9999): ");
sca = new Scanner(System.in);
int a = sca.nextInt();
int b = sca.nextInt();
String str1 = String.valueOf(a);
String str2 = String.valueOf(b);
char[] aArr = str1.toCharArray();
char[] bArr = str2.toCharArray();
int[][][] results = new int[str2.length()][str1.length()][2];
int[] x = new int[str1.length()];
int[] y = new int[str2.length()];
for (int i = 0; i < str2.length(); ++i) {
for (int j = 0; j < str1.length(); ++j) {
int tmp1 = Integer.valueOf(aArr[j]) - 48;
int tmp2 = Integer.valueOf(bArr[i]) - 48;
int tmp = tmp1 * tmp2;
if (tmp < 10) {
results[i][j][0] = 0;
results[i][j][1] = tmp;
} else {
results[i][j][0] = tmp / 10;
results[i][j][1] = tmp % 10;
}
}
}
System.out.print("+");
for (int k = 1; k <= str1.length(); ++k) {
System.out.print("-----");
}
System.out.print("+");
System.out.println();
System.out.print("|");
System.out.print(" ");
for (int i = 0; i < str1.length(); ++i) {
System.out.print(str1.charAt(i));
System.out.print(" ");
}
System.out.print("|");
for (int i = 0; i < str2.length(); ++i) {
// #001
System.out.println();
System.out.print("|");
System.out.print(" ");
System.out.print("+");
for (int j = 0; j < str1.length(); ++j) {
System.out.print("---+");
}
System.out.print(" ");
System.out.print("|");
// #002
System.out.println();
System.out.print("|");
if(i==0) {
System.out.print(" ");
}
else {
System.out.print("/");
}
System.out.print("|");
for (int j = 0; j < str1.length(); ++j) {
System.out.print(results[i][j][0]);
System.out.print(" ");
System.out.print("/");
System.out.print("|");
}
System.out.print(" ");
System.out.print("|");
// #003
System.out.println();
System.out.print("|");
System.out.print(" ");
System.out.print("|");
for (int j = 0; j < str1.length(); ++j) {
System.out.print(" ");
System.out.print("/");
System.out.print(" ");
System.out.print("|");
}
System.out.print(bArr[0]);
System.out.print("|");
// #004
System.out.println();
System.out.print("|");
System.out.print(" ");
System.out.print("|");
for (int j = 0; j < str1.length(); ++j) {
System.out.print("/");
System.out.print(" ");
System.out.print(results[i][j][1]);
System.out.print("|");
}
System.out.print(" ");
System.out.print("|");
}
// #009
System.out.println();
System.out.print("|");
System.out.print(" ");
System.out.print("+");
for (int j = 0; j < str1.length(); ++j) {
System.out.print("---+");
}
System.out.print(" ");
System.out.print("|");
System.out.println();
System.out.print("|");
for(int j=0; j<str1.length();++j) {
System.out.print("/");
System.out.print(" ");
System.out.print("3");
System.out.print(" ");
}
System.out.print(" ");
System.out.print("|");
System.out.println();
System.out.print("+");
for (int k = 1; k <= str1.length(); ++k) {
System.out.print("-----");
}
System.out.print("+");
}
}
[/code]
这是我的运行结果,还没有完成。。

以上的代码就是打印出来一个表格的形式,难点有二:
1.斜着的/杠杠的延伸处的数字是同斜行的和(3是我加上去的别管他!),如第一个数就是1,第二个数是1+5+2=8;以此类推。问题是这个斜着的和是怎么打印出来的,或者说是怎么和原来的三维数组的下标能扯上关系的??
2.这个
不用说也能看出来是用来防止a(第一个输入的数,横着的那个)的位数过大二造成的“+----+”不够长的尴尬。。但是对于横行可以,对于纵行我就不知道该怎么办了,我是把总行控制行数的写在for循环外面,就感觉这个会有影响,如果纵行>2的话表格的格式就打乱了(横行没问题关键是纵行不知道怎么才能使“ | ”单位像“+----+”单位一样的随行数的变化而变化。。)
一共两个问题,有谁能至少回答出一个问题的话,本人感激不尽!
import java.util.Scanner;
public class Ass002 {
private static Scanner sca;
public static void main(String[] args) {
System.out.print("Please enter two integers (1~9999): ");
sca = new Scanner(System.in);
int a = sca.nextInt();
int b = sca.nextInt();
String str1 = String.valueOf(a);
String str2 = String.valueOf(b);
char[] aArr = str1.toCharArray();
char[] bArr = str2.toCharArray();
int[][][] results = new int[str2.length()][str1.length()][2];
int[] x = new int[str1.length()];
int[] y = new int[str2.length()];
for (int i = 0; i < str2.length(); ++i) {
for (int j = 0; j < str1.length(); ++j) {
int tmp1 = Integer.valueOf(aArr[j]) - 48;
int tmp2 = Integer.valueOf(bArr[i]) - 48;
int tmp = tmp1 * tmp2;
if (tmp < 10) {
results[i][j][0] = 0;
results[i][j][1] = tmp;
} else {
results[i][j][0] = tmp / 10;
results[i][j][1] = tmp % 10;
}
}
}
System.out.print("+");
for (int k = 1; k <= str1.length(); ++k) {
System.out.print("-----");
}
System.out.print("+");
System.out.println();
System.out.print("|");
System.out.print(" ");
for (int i = 0; i < str1.length(); ++i) {
System.out.print(str1.charAt(i));
System.out.print(" ");
}
System.out.print("|");
for (int i = 0; i < str2.length(); ++i) {
// #001
System.out.println();
System.out.print("|");
System.out.print(" ");
System.out.print("+");
for (int j = 0; j < str1.length(); ++j) {
System.out.print("---+");
}
System.out.print(" ");
System.out.print("|");
// #002
System.out.println();
System.out.print("|");
if(i==0) {
System.out.print(" ");
}
else {
System.out.print("/");
}
System.out.print("|");
for (int j = 0; j < str1.length(); ++j) {
System.out.print(results[i][j][0]);
System.out.print(" ");
System.out.print("/");
System.out.print("|");
}
System.out.print(" ");
System.out.print("|");
// #003
System.out.println();
System.out.print("|");
System.out.print(" ");
System.out.print("|");
for (int j = 0; j < str1.length(); ++j) {
System.out.print(" ");
System.out.print("/");
System.out.print(" ");
System.out.print("|");
}
System.out.print(bArr[0]);
System.out.print("|");
// #004
System.out.println();
System.out.print("|");
System.out.print(" ");
System.out.print("|");
for (int j = 0; j < str1.length(); ++j) {
System.out.print("/");
System.out.print(" ");
System.out.print(results[i][j][1]);
System.out.print("|");
}
System.out.print(" ");
System.out.print("|");
}
// #009
System.out.println();
System.out.print("|");
System.out.print(" ");
System.out.print("+");
for (int j = 0; j < str1.length(); ++j) {
System.out.print("---+");
}
System.out.print(" ");
System.out.print("|");
System.out.println();
System.out.print("|");
for(int j=0; j<str1.length();++j) {
System.out.print("/");
System.out.print(" ");
System.out.print("3");
System.out.print(" ");
}
System.out.print(" ");
System.out.print("|");
System.out.println();
System.out.print("+");
for (int k = 1; k <= str1.length(); ++k) {
System.out.print("-----");
}
System.out.print("+");
}
}
[/code]
这是我的运行结果,还没有完成。。

以上的代码就是打印出来一个表格的形式,难点有二:
1.斜着的/杠杠的延伸处的数字是同斜行的和(3是我加上去的别管他!),如第一个数就是1,第二个数是1+5+2=8;以此类推。问题是这个斜着的和是怎么打印出来的,或者说是怎么和原来的三维数组的下标能扯上关系的??
2.这个
for (int k = 1; k <= str1.length(); ++k) {
System.out.print("-----");
}不用说也能看出来是用来防止a(第一个输入的数,横着的那个)的位数过大二造成的“+----+”不够长的尴尬。。但是对于横行可以,对于纵行我就不知道该怎么办了,我是把总行控制行数的写在for循环外面,就感觉这个会有影响,如果纵行>2的话表格的格式就打乱了(横行没问题关键是纵行不知道怎么才能使“ | ”单位像“+----+”单位一样的随行数的变化而变化。。)
一共两个问题,有谁能至少回答出一个问题的话,本人感激不尽!
...全文
相关推荐
非常好用的web打印插件 , 可以热敏打印
热敏打印技术广泛应用于零售、餐饮、物流等行业的收银小票或标签打印,具有快速、无墨、成本低的优点。这个插件能够很好地支持热敏打印机,使得用户在网页端就能完成各种热敏打印任务,极大地提高了工作效率。
LODOP打印控件进行批量打印
3.批量打印不同内容,页数很少,不需要预览,直接打印,可一个任务分页,也可一页分多任务,均可。4.批量打印大批量不同内容,内容多,页数很多,建议分页分任务,分组打印,提高打印性能。打印上千上万个任务,任务太多,对操作系统负担大,可酌情分页,分页分任务进行折中处理。(1)通过在一个任务中分页,循环添加页数,每页添加不同内容,一个任务中打印多页。2.批量打印不同内容,页数很少,每页内容也很少,需要预览,可在一个任务中分多页。(3)多任务与多页相结合,既分页又分任务,循环多任务,每个任务中循环多页。
调用web前端打印功能,对页面进行打印
本文主要介绍如何在Web前端实现打印功能,包括整页打印、区域打印和选择打印三种方法。提供了一段JavaScript代码示例,但需要注意格式控制的问题,建议使用专业插件或PDF打印。在Web开发中
斑马打印机打印中文
在日常使用中,可能会遇到斑马打印机无法正常打印中文字符的问题,这通常是由于打印机缺少中文字符集或者软件设置不正确导致的。本教程将详细介绍如何解决斑马打印机打印中文的难题,帮助你充分利用打印机的功能。
Android蓝牙打印二维码打印外卖单打印
在Android平台上实现蓝牙打印功能,主要是为了满足移动设备与各种硬件设备,如小票打印机、条形码或二维码打印机的无线通信需求。


Java SE
