Day21---学习Java第三弹
2021-07-31
Java经典编程例题(五)
13、 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
import java.util.Scanner;
public class example
{ public static void main(String args[])
{
System.out.println("请输入字符串:");
Scanner scan=new Scanner(System.in);
String str=scan.next();
String E1="[\u4e00-\u9fa5]";
Sintrting E2="[a-zA-Z]";
count H=0;
int count E=0;
char[] arrChar=str.toCharArray();
String[] arrStr=new String[arrChar.length];
for (int i=0;i<arrChar.length ;i++ )
{
arrStr[i]=String.valueOf(arrChar[i]);
}
for (String i: arrStr )
{
if (i.matches(E1))
{
countH++;
}
if (i.matches(E2))
{
countE++;
}
}
System.out.println("汉字的个数"+countH);
System.out.println("字母的个数"+countE);
}
}
程序分析:利用while语句,条件为输入的字符不为 '\n '.
14、题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它
在第10次落地时,共经过多少米?第10次反弹多高?
public class Example
{ public static void main(String[] args)
{
double s=0;
double t=100;
for(int i=1;i<=10;i++)
{
s+=t;
t=t/2;
}
System.out.println(s);
System.out.println(t);
}
}
15、题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
public class Wanshu
{ public static void main(String[] args)
{ int i=0;
int j=0;
int k=0;
int t=0;
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
for(k=1;k<=4;k++)
if(i!=j && j!=k && i!=k)
{t+=1;
System.out.println(i*100+j*10+k);
}
System.out.println (t);
}
}
程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。
16、题目:一个整数,它加上100后是一个完全平方数,加上168又是一个完全平方数,请问该数是多少?
public class test { public static void main (String[]args) { long k=0; for(k=1;k<=100000l;k++)
if(Math.floor(Math.sqrt(k+100))==Math.sqrt(k+100) && Math.floor(Math.sqrt(k+168))==Math.sqrt(k+168)) System.out.println(k); } }
程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。