importjava.util.ArrayList;importjava.util.Scanner;publicclassTest1{publicstaticvoidmain(String[] args){ArrayList<Integer> arr =newArrayList<>();Scanner sc =newScanner(System.in);int sum =0;while(sum <=200){System.out.print("请输入一个整数:");String line = sc.nextLine();int num =Integer.parseInt(line);if(num <1|| num >100){System.out.println("当前数字不在1~100");continue;}
arr.add(num);
sum =getSum(arr);}System.out.println(sum);}privatestaticintgetSum(ArrayList<Integer> arr){int sum =0;for(Integer num : arr){
sum += num;}return sum;}}
二、自己实现parseInt
需求:字符串中只能是数字不能有其他字符。
最少一位,最多10位,不能以0开头。
importjava.util.Scanner;publicclassTest2{publicstaticvoidmain(String[] args){Scanner sc =newScanner(System.in);while(true){System.out.print("输入一个数字:");String line = sc.nextLine();if(!line.matches("-?[1-9]\\d{0,9}|0")){System.out.println("数据格式有误");continue;}int number =0;for(int i =0; i < line.length(); i++){if(line.charAt(i)=='-')continue;int c = line.charAt(i)-'0';
number = number *10+ c;}System.out.println(line.charAt(0)=='-'? number *-1: number);}}}
三、自己实现toBinaryString
需求:将一个十进制整数转换成字符串表示的二进制。
publicclassTest3{publicstaticvoidmain(String[] args){int num =10;System.out.print(num);StringBuilder sb =newStringBuilder();while(num !=0){int i = num %2;
num /=2;
sb.insert(0, i);}System.out.println(" -> "+ sb);}}