我已经写了这段代码,但是得到了NullPointerException import java.io.*; 导入java.util.Scanner; 导入java.math.*; 类排序{ 公共静态void main(字符串参数[]){ 类轧棉机{ int N,N,s; int-ggn[]; } gint gginta=新gint(); gint ggintb=新gint(); gint ggintc=新gint(); int i=0; int j=0; 字符c[]; 字符串ss; 字符串sggn; 字符串sggnrev=“”; System.out.println(“输入数字的最大位数”); 扫描仪扫描=新扫描仪(System.in); gginta.N=scan.nextInt(); System.out.println(“输入数字的精确数字”); gginta.n=scan.nextInt(); System.out.println(“输入数字符号”); System.out.println(“输入编号”); sggn=scan.next(); 字符温度[]; int l=sggn.length(); 对于(j=l-1;j>=0;j--){ sggnrev=sggnrev+sggn.charAt(j); } int x=整数.parseInt(sggn); 系统输出打印LN(sggnrev); System.out.println(sggn.length()); int-h; System.out.println(sggn.length()); 对于(int f=0;f
始终使用int x=Integer.parseInt(sggn);在try catch块中我已经写了这段代码,但是得到了NullPointerException import java.io.*; 导入java.util.Scanner; 导入java.math.*; 类排序{ 公共静态void main(字符串参数[]){ 类轧棉机{ int N,N,s; int-ggn[]; } gint gginta=新gint(); gint ggintb=新gint(); gint ggintc=新gint(); int i=0; int j=0; 字符c[]; 字符串ss; 字符串sggn; 字符串sggnrev=“”; System.out.println(“输入数字的最大位数”); 扫描仪扫描=新扫描仪(System.in); gginta.N=scan.nextInt(); System.out.println(“输入数字的精确数字”); gginta.n=scan.nextInt(); System.out.println(“输入数字符号”); System.out.println(“输入编号”); sggn=scan.next(); 字符温度[]; int l=sggn.length(); 对于(j=l-1;j>=0;j--){ sggnrev=sggnrev+sggn.charAt(j); } int x=整数.parseInt(sggn); 系统输出打印LN(sggnrev); System.out.println(sggn.length()); int-h; System.out.println(sggn.length()); 对于(int f=0;f,java,arrays,nullpointerexception,Java,Arrays,Nullpointerexception,始终使用int x=Integer.parseInt(sggn);在try catch块中 import java.io.*; import java.util.Scanner; import java.math.*; class Sort { public static void main(String args[]) { class gint { int N, n, s; int ggn[]; } gint ggint
import java.io.*;
import java.util.Scanner;
import java.math.*;
class Sort {
public static void main(String args[]) {
class gint {
int N, n, s;
int ggn[];
}
gint gginta=new gint();
gint ggintb=new gint();
gint ggintc=new gint();
int i=0;
int j=0;
char c[];
String ss;
String sggn;
String sggnrev="";
System.out.println("enter the number of maximum digits of the number");
Scanner scan=new Scanner(System.in);
gginta.N=scan.nextInt();
System.out.println("enter the number exact digits of the number ");
gginta.n=scan.nextInt();
System.out.println("enter the sign of the number");
System.out.println("enter the number");
sggn=scan.next();
char temp[];
int l=sggn.length();
for(j=l-1; j >= 0; j--) {
sggnrev= sggnrev+sggn.charAt(j);
}
int x= Integer.parseInt(sggn);
System.out.println(sggnrev);
System.out.println(sggn.length());
int h;
System.out.println(sggn.length());
for (int f=0;f<=sggn.length()-1;f++) {
System.out.println(f);
double y=(int) (x/Math.pow(10, f));
double z=(int) (x/Math.pow(10, f+1));
double w= y-(z*10);
System.out.println("power"+i+"= "+(int) y +"-"+(int)z*10+"="+w);
h= (int) w;
gginta.ggn[f]=h;
System.out.print(gginta.ggn[l-1]);
l--;
}
for (i=0;i<=sggn.length()-1;i++) {
if (sggn.length()!=gginta.n) {
System.out.println("number not in range....enter the number again ... ");
do {
System.out.println("number not in range....enter the number again ... ");
System.out.println("enter the number");
sggn=scan.next();
} while (sggn.length()!=gginta.n);
}
}
}
只需在gint类中初始化ggn数组:
int x =0;
try {
x= Integer.parseInt(sggn);
}catch(NumberFormatException ex) {
//handle exception:
x =0;
}
否则,程序将取消对具有空值的字段的引用
int ggn[] = new int[5];
你的问题是什么?你只是在这里转储代码。添加异常的堆栈跟踪空指针异常将告诉你代码的哪一行失败,以及你是如何到达的,如果你查看堆栈跟踪的话。找到那一行,找出那一行上使用的指针,找出其中任何一个可能为空,修复代码。另外,请仔细阅读如何在SO中格式化代码。很难理解您发布的内容。
class gint{int N,N,s;int ggn[];}
真的吗…?祝你从今天起五天内理解这样的代码好运。如果你真的认为Java语言的命名约定不适合你,至少在你自己的风格内保持一致。其他一切只会导致混乱和混乱。;)
gginta.ggn[f]=h;