无敌美少女战神


私信TA

用户名:15051456515

访问量:892

签 名:

等  级
排  名 13650
经  验 912
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校 湖南理工学院
专  业

  自我简介:

解题思路:
熟悉几个新的字符串方法的调用
注意事项:

 * indexOf() 方法有以下四种形式:

 * public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

 * public int indexOf(int ch, int fromIndex): 返回从

 * fromIndex位置开始查找指定字符在字符串中第一次出现处的索引,

 * 如果此字符串中没有这样的字符,则返回 -1。

 *

 * int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

 * int indexOf(String str, int fromIndex): 返回从

 * fromIndex位置开始查找指定字符在字符串中第一次出现处的索引,

 * 如果此字符串中没有这样的字符,则返回 -1。

 *

 *

 * substring()方法如下:

 * startIndex - 开始处的索引(包括)。

 * endIndex - 结束处的索引(不包括)。

 * str=str.substring(int startIndex);截取掉str从首字母起长度为startIndex的字符串,将剩余字符串赋值给str;

 * str=str.substring(intstartIndex,intendIndex);截取str中从startIndex开始至endIndex结束时的字符串,并将其赋值给str;



参考代码:

public class Seq1073 {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        int right = 0;// 记录正确题目的数量


        while (input.hasNext()) {

            String str = input.nextLine();// 获取整行的输入数据


            // 依次对应三个数

            int a;

            int b;

            int c;


            // 调用indexOf()方法,判读题目结果是否为"?",此处也可以用charAt()方法转化为char类型依次判断,但大大增加代码长度

            if (str.indexOf("?") == -1) {// 如果字符串中没有"?"的情况

                int addIndex = str.indexOf("+");// 获取字符串中+的下标,如果没有则返回为-1

                int equalIndex = str.indexOf("=");// 获取字符串中=的下标

                int temp = 0;// 记录正确的答案

                c = Integer.valueOf(str.substring(equalIndex+1, str.length()));

                if (addIndex != -1) {// 如果是加法的情况

                    a = Integer.valueOf(str.substring(0, addIndex));// 获取+前的字符串,并将其转换为Integer

                    b = Integer.valueOf(str.substring(addIndex+1, equalIndex));//注意下标问题,不要读取到正负号!!!

                    temp = a + b;

                } else {// 减法的情况

                    int subtractIndex = str.indexOf("-");// 获取字符串中-的下标,如果没有则返回为-1

                    a = Integer.valueOf(str.substring(0, subtractIndex));// 获取-前的字符串,并将其转换为Integer

                    b = Integer.valueOf(str.substring(subtractIndex+1, equalIndex));//再次强调:注意下标问题,不要读取到正负号!!!

                    temp = a - b;

                }


                if(temp == c){

                    right++;

                }

            }

        }


        System.out.println(right);

    }

}


 

0.0分

3 人评分

  评论区

  • «
  • »