Java poj1200这样做哪里错了
答案:2 悬赏:40 手机版
解决时间 2021-08-15 13:56
- 提问者网友:沉默的哀伤
- 2021-08-15 05:00
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int nc = sc.nextInt();
String s = sc.next();
int[] hash = new int[5000000];
int count = 0;
int index = 0;
for(int i=0; i<s.length()-n+1; i++) {
int t = 0;
String temp = "";
for(int j=0; j<n; j++) {
t = s.charAt(i+j)%nc; //映射为整数,比如abc,类似转换成979899的样子
temp += t;
}
index = Integer.parseInt(temp);
if(hash[index] == 0) {
hash[index] = 1;
count ++;
}
}
System.out.println(count);
}
}
最佳答案
- 五星知识达人网友:话散在刀尖上
- 2021-08-15 06:04
没有问题啊~~是不是你在输入的过程中哪里出错了?还是输入的数字太大,或者字符串太长造成的?
全部回答
- 1楼网友:逃夭
- 2021-08-15 06:34
int n = sc.nextInt();
这里只能输入数字了,如果不是错误就报算数错误
你应该加判断,要么sc.hasNextInt()
要么就要加try catch了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯