求首尾和

题目:给一个整数,求首尾和。例如,输入:"24586" 则应该输出8。

思路:给一个字符串,把输入的字符串转成char,再把char转成int,最后把得到的两个整数相加。

代码如下:

//2017.03.15 by 小方
import java.util.Scanner;
public class F0315 {
    public static void main(String[] args) {
        //从键盘输入一个字符串
        Scanner scn=new Scanner(System.in);
        System.out.println("请输入一个整数;");
        String s=scn.nextLine().trim();
        int a=s.charAt(0)-'0';//取出字符串的首
        int b=s.charAt(s.length()-1)-'0';//取出字符串的尾
        //输出得到的两个整数相加
        System.out.println(a+b);
        }
}

结果如下:

第一次修改:

思路:加入while(true)循环,用户输入“exid”退出循环,用try catch抓异常。

代码如下

package zuoye;

//2017.03.15 by 小方(第一次修改)
import java.util.Scanner;
public class F0315 {
    public static void main(String[] args) {
        while(true){
            try{
                Scanner scan=new Scanner(System.in);
                System.out.println("请输入一个整数:");
                String s=scan.nextLine().trim();
                if(s.equals("exid")) break;//输入的字符串是exid,跳出while(true)循环

                for(int i=0;i<s.length();i++){
                    if(s.charAt(i)-'0'<0||s.charAt(i)-'0'>9)throw new Exception() ;
                }//输入的字符串不是数字,扔给Exception e
                        int a=s.charAt(0)-'0';
                        int b=s.charAt(s.length()-1)-'0';
                        System.out.println(a+b);
                }
            catch(Exception e){
                    System.out.println("输入无效");
            }
        }
    }
}

结果如下:

 

posted @ 2017-03-15 16:41  小汛  阅读(129)  评论(4)    收藏  举报