黑马程序员技术交流社区

标题: 今天练习,碰到好多题目,极度烧脑, [打印本页]

作者: 菜鸟2016    时间: 2017-5-12 23:42
标题: 今天练习,碰到好多题目,极度烧脑,
今天练习,碰到好多题目,极度烧脑,老是漏其他可能性,大家看看这道题目:

题目描述:

  书写一个类,类名为Itheima;

  类中有一个方法,方法名twoChar;

  给定一个字符串和一个索引,从给定索引开始返回一个字符串长度2。
如果索引太大或太小,无法定义字符串长度2,请使用前2个字符。 字符串长度至少为2。
提示:
方法调用         期望值
twoChar("java",0)         "ja"
twoChar("java",2)         "va"
twoChar("java",3)         "ja"
作者: 范德华丽    时间: 2017-5-13 00:16
题我都没读懂

作者: xiaovvssbai    时间: 2017-5-13 01:47
最后的那个期望值是不是错了,应该是"av"吧按照题目意思太大应该返回前两个字符不应该是返回索引2和索引1的字符吗?

作者: 654788808    时间: 2017-5-13 07:15
这个很难吗???
作者: 菜鸟2016    时间: 2017-5-13 12:39
xiaovvssbai 发表于 2017-5-13 01:47
最后的那个期望值是不是错了,应该是"av"吧按照题目意思太大应该返回前两个字符不应该是返回索引2和索引1的 ...

我直接复制的,没错吧

作者: 烽火狼烟    时间: 2017-5-13 13:53
加油老铁!
作者: rimfwfn    时间: 2017-5-13 23:58
快让我的大脑燃烧吧
作者: 菜鸟2016    时间: 2017-5-14 00:01
算了,不用恢复了,我已经写出来了
作者: Damonlalala    时间: 2017-5-14 20:58
定义一个类中定义一个方法,方法中根据字符串和索引对字符串先对索引值和字符串长度进行比较,然后进行截取然后返回就行了啊,
作者: 丿UNDY    时间: 2017-5-14 21:13
在给定字符串长度不小于2的情况下 粗略来看 有三种情况 1.索引为负数(因为正常就是从0开始比0还小的只能是负数吧?) 2.索引值+1大于字符串长度  3.索引+1在字符串范围内 因为 你要2个字符取的就是索引值还有索引值后面的那个元素啊。这个。。。。问题在哪?
作者: 丿UNDY    时间: 2017-5-14 21:15
还有请使用前两个字符是 说的字符串第一个和第二个字符?而不是字符串的末尾两个字符或者其他的??
作者: pkpang    时间: 2017-5-14 22:44
[Java] 纯文本查看 复制代码
public class Itheima {
        public String twoChar(String str,int i){
                String subString = "";
                if(i<(str.length()-1)){
                        subString = str.substring(i, i+2);
                }else{
                        subString = str.substring(0,2);
                }
                return subString;
        }
       
        public static void main(String[] args){
                String s = new Itheima().twoChar("helloworld", 8);
                System.out.println(s);
        }
       
}

作者: Batistuta    时间: 2017-5-14 23:21
不知道对不对
package day0514;

public class luntan {
        public static void main(String[] args) {
                String s = twoChar("java", 12);
                System.out.println(s);
        }

        public static String twoChar(String str, int x) {
                String s;
                if (str.length() - x == 1 || str.length() - x > str.length() || str.length() - x <= 0) {
                        s = (str.charAt(0) + "") + (str.charAt(1) + "");
                        return s;//输入的整数x是最后一位或者是负数或者比字符串的长度大
                } else {
                        s = (str.charAt(x) + "") + (str.charAt(x + 1) + "");
                        return s;//输入的整数在0到字符串长度-1的值之间
                }

        }
}
作者: unscdf117    时间: 2017-5-19 22:49
6666666666666666666666
作者: lzq1343921    时间: 2017-5-19 23:21
将第二个参数形参加2,在在twochar方法中使用第一个字符串形参调用charat




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2