- 45
- 0
- 约2.63万字
- 约 9页
- 2016-10-15 发布于贵州
- 举报
浙大 Java语程序设计编程答案11
实验12-1 字符串处理(二)
说明:以下题目请采用字符串处理求整数的位数以及各位数之和40010
输入一个正整数repeat (0repeat10),做repeat次下列运算:
输入一个整数,输出它的位数以及各位数之和。
例:括号内是说明
输入
4 (repeat=4)
123456 -100 -1 99
输出
number=6, sum=21 (123456的位数是6, 各位数之和是21)
number=3, sum=1 (-100的位数是3, 各位数之和是1)
number=1, sum=1 (-1的位数是1, 各位数之和是1)
number=2, sum=18 (99的位数是2, 各位数之和是18)
import java.util.Scanner;
public class Test40010 {
public static void main(String[] args){
int ri, repeat;
int number, sum,n;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri=repeat; ri++){
n=in.nextInt();
/*--------------------*/
n=Math.abs(n);
String s=String.valueOf(n); //把整数n转换成字符串
number=s.length(); //得到整数的位数
sum=0;
for(int i=0;inumber;i++){
sum+=(s.charAt(i)-0); //求各位数字和
}
System.out.println(number=+number+, sum=+sum);
}
}
}
统计一个整数中数字的个数50003
输入一个正整数repeat (0repeat10),做repeat次下列运算:
读入1 个整数,统计并输出该数中2的个数。
要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中数字digit的个数。例如,countdigit(10090,0)的返回值是3。
例:括号内是说明
输入:
3 (repeat=3)
-21902
2
345543
输出:
count=2 (-21902中有2个2)
count=1 (有1个2)
count=0 (345543中没有2)
import java.util.Scanner;
public class Test50003{
public static void main(String args[]){
int ri, repeat;
int count;
long n;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri=repeat; ri++){
n=in.nextInt();
/*---------*/
n=Math.abs(n);
count=countdigit(n,2);
System.out.println(count=+count);
}
}
/*------------*/
static int countdigit(long number,int digit){//统计整数number中数字digit的个数 int c=0;
String s=String.valueOf(number); //把长整数number转换成字符串
//以下循环实现:依次取出number的每个数字与指定数字digit比较,若相等则个数加1
for(int i=0;is.length();i++)
if(s.charAt(i)-0==digit)c++;
return c;
}
}将一个整数逆序输出 50009输入一个正整数repeat (0repeat10),做repeat次下列运算:
输入一个整数,将它逆序输出。
要求定义并调用函数reverse(number),它的功能是返回number的逆序数。例如reverse(12345)的返回值是54321。
例:括号内是说明
输入
4 (repeat=4)
原创力文档

文档评论(0)