Stringmsg=scanner.next();String[]data=msg.split("");name=(data[0]);num=Integer.parseInt(data[1]);score=Integer.parseInt(data[2]);这段代码如果单独运行可以实现变量赋值,可是...
String msg = scanner.next();
String[] data = msg.split("");
name= (data[0]);
num= Integer.parseInt(data[1]);
score= Integer.parseInt(data[2]);
这段代码如果单独运行可以实现变量赋值,可是我把它放入循环中运行就会发生越界中断,不是循环中的变量都是局部变量吗?为什么还是会出错?
完整代码是这样的:
import java.util.*;
public class Pat1004{
public static void main(String[] args){
Stu max=new Stu();
Stu min=new Stu();
max.score=0;
min.score=100;
String name,msg;
int num,score;
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
for(int i=0;i
msg = scanner.next();
String[] data = msg.split("");
name= (data[0]);
num= Integer.parseInt(data[1]);
score= Integer.parseInt(data[2]);
if(score>=max.score){
max.getInfo(name,num,score);
}
if(score<=min.score){
min.getInfo(name,num,score);
}
}
max.print();
min.print();
}
}
class Stu{
String name;
int num;
int score;
public void getInfo(String name,int num,int score){
this.name=name;
this.num=num;
this.score=score;
}
public void print(){
System.out.print(name+" "+num+" "+score);
}
}
语法方面没有问题,不知道是哪逻辑错了
展开