String数组结果为null
package pgdp.pinguart;
import static pgdp.MiniJava.*;
public class PinguArt {
public static void main(String[] args) {
int n;
int j=0;
int[] pi=new int[8];
String[] tos=new String[8];
for(int i=0;i<8;i++) {
n=readInt("Bitte geben Sie eine Pingu-Art-Zahl ein::");//意思是请给出一个数
if(i==0) {
pi[i]=n*(10^(-i-1)); //把用户输入的每一个数单独放入数组
if(pi[i]==0) {
tos[i]=" "; //给每一个数赋值字符串
}else if(pi[i]==1) {
tos[i]="-";
}else if(pi[i]==2) {
tos[i]="~";
}else if(pi[i]==3) {
tos[i]="P";
}
}else {
pi[i]=(n*(10^(-i-1)))%10;
if(pi[i]==0) {
tos[i]=" ";
}else if(pi[i]==1) {
tos[i]="-";
}else if(pi[i]==2) {
tos[i]="~";
}else if(pi[i]==3) {
tos[i]="P";
}
}
}
writeLineConsole("+---[PinguArt]---+");
write("|"+tos[7]+tos[6]+"|");
write("|"+tos[5]+tos[4]+"|");
write("|"+tos[3]+tos[2]+"|");
write("|"+tos[1]+tos[0]+"|");
write("+----------------+");
}
}
# 具体遇到的问题
老师我这里导入的是mini java。
题目要求是用户输入一串自定义,长度小于等于8的数。(只能输入1,2,3,0)
最后输出结果,0表示空格 “ ”;1 表示“-”;2表示“~”;3表示“P”;如果没有数字的话,也输出的为空格,并且是从后往前输出!
比如:
12010302 表示
"~ P - ~-"
122 表示
"~~- "
最后以
+----------------+
结尾
比如一个例子
Bitte geben Sie eine Pingu-Art-Zahl ein:
> 20200220
Bitte geben Sie eine Pingu-Art-Zahl ein:
> 10121201
Bitte geben Sie eine Pingu-Art-Zahl ein:
> 12
Bitte geben Sie eine Pingu-Art-Zahl ein:
> 10302101
Bitte geben Sie eine Pingu-Art-Zahl ein:
> 2303120
Bitte geben Sie eine Pingu-Art-Zahl ein:
> 1231200
Bitte geben Sie eine Pingu-Art-Zahl ein:
> 20201210
Bitte geben Sie eine Pingu-Art-Zahl ein:
> 120012
+---[PinguArt]---+
| ~~ ~ ~- ~-~- -|
|~- - -~ P -|
| ~-P P~ ~-P~- |
| -~- ~ ~~- ~- |
+----------------+
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
老师,我不知道为什么,我输出的值全是空的。我的思路是正确的吗?(我觉得我的思路是对的哈哈)
谢谢老师费心了
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
在这里输入代码,可通过选择【代码语言】突出显示
17
收起
正在回答
3回答
同学你好,老师给同学提供一种Java代码的实现思路。如下所示:
使用substring()截取字符,从i开始i+1结束,然后根据截取下来的字符进行判断。实现代码如下所示:
package pgdp.pinguart;
import java.util.Scanner;
public class PinguArt {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String n;
int j = 0;
String[] pi = new String[8];
String[] tos = new String[8];
// n = new String("120012");
// 键盘输入
n = sc.next();
for (int i = 0; i < 8; i++) {
// 当字符串长度大于1时,进行截取否则赋值为0
if (n.length()>i) {
// 截取字符串
pi[i] =n.substring(i, i+1);
// 使用equals()进行判断
if (pi[i].equals("0")) {
tos[i] = " ";
} else if (pi[i].equals("1")) {
tos[i] = "-";
} else if (pi[i].equals("2")) {
tos[i] = "~";
} else if (pi[i].equals("3")) {
tos[i] = "P";
}
}else {
tos[i] = " ";
}
}
System.out.println("+---[PinguArt]---+");
System.out.println("|"+tos[7]+tos[6]+"|");
System.out.println("|" + tos[5] + tos[4] + "|");
System.out.println("|" + tos[3] + tos[2] + "|");
System.out.println("|" + tos[1] + tos[0] + "|");
System.out.println("+----------------+");
}
}
注:一般情况下,并不是使用mini Java 进行开发,建议同学学习使用Java语法。
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星