• 两个字符串,若为数字则都相加,若有一个不为数字则,输出error


    import java.util.*;
    /*请设计一个算法能够完成两个用字符串存储的整数进行相加操作,对非法输入则返回“error”;
     * 用例:123 234
     * 输出:357
     * 用例123 asd
     * 输出:error
     * 输入:1234 12
     * 输出:2434*/
    public class stringadd {
    
        public static void main(String[] args){
            Scanner cin = new Scanner(System.in);
            String str = cin.nextLine();
            String[] st = str.split(" ");
            int[] result = new int[max(st[0],st[1])];
            if(!isNumber(st[0])||!isNumber(st[1])){
                System.out.print("error");
            }else{
                result = add(st[0],st[1]);
                for(int i=0;i<result.length;i++){
                    System.out.print(result[i]);
                }
                
            }
            
            
        }
        public static int max(String a,String b){
            if(a.length()>b.length()){
                return a.length();
            }else{
                return b.length();
            }
        }
        
        public static int min(String a,String b){
            if(a.length()>b.length()){
                return b.length();
            }else{
                return a.length();
            }
        }
        
        public static int[] add(String a,String b){
            int[] x = new int[max(a,b)];
            int len = min(a,b);
            String l = a;
            if(a.length()<b.length()){
                l=b;
            }
            for(int i=0;i<len;i++){
                x[i]=(a.charAt(i)-48)+(b.charAt(i)-48);//0的ASCII值为48
            }
            for(int j=len;j<l.length();j++){
                x[j]=l.charAt(j)-48;
            }
            return x;
        }
        public static boolean isNumber(String str){
            for(int i=0;i<str.length();i++){
                if(!Character.isDigit(str.charAt(i))){
                    return false;
                }
            }
            return true;
        };
    }
    /*字符1+字符2是ASCII值相加,是49+50,不是1+2*/
  • 相关阅读:
    jdbc基础
    DAO模式(单表)
    window对象
    抽象类VS接口
    sql语句
    JS弹框计算
    HBML表单
    【mysql】:mysql性能优化总结
    【java】:多线程面试题
    spring multipart源码分析:
  • 原文地址:https://www.cnblogs.com/Janejxt/p/5867341.html
Copyright © 2020-2023  润新知