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.程序分析:可填在百位、十位、个位的数字都是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后再开方,如果开方后的结果满足如下条件,即是结果。

上一篇:java_day21


下一篇:day21