永发信息网

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了

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯