//解决方案:巧用API,字符串分割函数split public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); String s = in.next(); for(int i = 1; i <= s.length(); i++) { String[] ss = s.split(s.substring(0, i)); //s.split(String a), 将字符串s按照a来分隔,字符串中的s会被消除,其他字符则会被保留 if(ss.length == 0) //所以此时如果分隔后得到的数组为0,则代表该字符串全部由这种子串组成 { System.out.println(s.length() / i); return; } } in.close(); }
emmm,那个啥,for循环是不是应该写成 for (int i = 1; i <= number.length(); i++),毕竟substring(0, i)截取的结果不包含第i位,如果像参考代码里这样写的话,只能截取一段的那种貌似就没有输出了,你可以测试一下看看。OJ的测试数据里可能没有这种
字符串输入输出函数 (Java代码)浏览:1498 |
C语言程序设计教程(第三版)课后习题5.7 (C++代码)浏览:879 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:603 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:1052 |
【计算直线的交点数】 (C语言代码)浏览:1501 |
1048题解(读入回车问题)浏览:628 |
蓝桥杯历届试题-翻硬币 (C++代码)浏览:953 |
敲七 (C++代码)浏览:1119 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:606 |
简单的a+b (C语言代码)浏览:587 |