求首尾和
题目:给一个整数,求首尾和。例如,输入:"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("输入无效"); } } } }
结果如下:

浙公网安备 33010602011771号