不应当急于求成,应当去熟悉自己的研究对象,锲而不舍,时间会成全一切。凡事开始最难,然而更难的是何以善终。
——莎士比亚
前 言
这两个月以来,我们从最开始的如何安装Java语言的开发环境,然后一步一步从最基本的Java的基本数据类型、慢慢走到到运算符、流程控制语句、数组、数字和日期处理、字符串处理等内容。不知道大家两个月以来有没有感受到自己的成长变化,接下来我们就这两个月的学习做一个简单的总结回顾。主要是引领大家做一些题目练练手~
一、先对数组{11,6,9,8,21,3,14,6,5,10,13}进行排序,然后用二分查找法找出数组元素中的10,标出其排序后下标的位置。
1.1 运行结果及截图
1.2 源码
package first.summary;
public class Problem1 {
public static void main(String[] args){
int numbers[] = {11,6,9,8,21,3,14,6,5,10,13};//也可以尝试自己输入一个数组
java.util.Arrays.sort(numbers);
System.out.println("排序后的数组为:");
for(int i=0;ilow) {
mid = (low + high) / 2;
if (key < list[mid])
high = mid - 1;
else if (key > list[mid])
low = mid + 1;
else
return mid;
}
return -1;//找不到返回-1
}
}
二、编写一个程序,从键盘输入两个子串并连接,然后将子串有大写字母的全部转为小写字母输出。
2.1 运行结果及截图
2.2 源码
package first.summary;
import java.util.Scanner;
public class Problem2 {
public static void main(String[] args){
System.out.println("请输入第一个字符串:");
Scanner scan=new Scanner(System.in);
String str1=scan.nextLine();
System.out.println("请输入第二个字符串:");
String str2=scan.nextLine();
scan.close();
String str3=str1+str2;
System.out.println("连接后的字符串为:"+str3);
String str =str3.toUpperCase();
System.out.println("变换后的字符串为:"+str);
}
}
三、给定一个0~1000的整数,求分解后各位数的和并输出,例如345的结果是3+4+5=12。
3.1 运行结果及截图
3.2 源码
package first.summary;
import java.util.Scanner;
public class Problem3 {
public static void main(String[] args){
System.out.print("请输入一个整数:");
int i=new Scanner(System.in).nextInt();
int sum=0;
while(i%100!=0){
sum+=i%10;
i=i/10;
}
System.out.print("各位数的和为:"+sum);
}
}
四、编写程序,判断用户输入的数是否为绝对素数;绝对素数是指本身是素数且其逆序数也是素数。
4.1
4.2
package first.summary;
import java.util.Scanner;
public class Problem4 {
public static void main( String args[] ) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个数: " );
int num=sc.nextInt();
int inv = invert(num);
if ( check(num)&&check(inv) )
{
System.out.print(""+num+" 是绝对素数" );
}
else if(check(num))
{
System.out.print(""+num+" 是素数" );
}
else
System.out.print(""+num+"不是素数");
}
static boolean check( int num )//判断一个数是否为素数
{
for( int i=2;i<=num/2;i++ ){
if ( num%i==0 )
{
return false;
}
}
return true ;
}
private static int invert(int n) //求反序数
{
int x,y;
x=n/10;
y=n%10;
int c;
c=x;
x=y;
y=c;
n=x*10+y;
return n;
}
}
小编有话说
2019已接近尾声,回望这一年,你有什么收获?又成长了多少呢?小编希望我码的文字哪怕对你有那么一丁点帮助,我也很满足了~好了,过去的就让它过去,重要的是我们要重振旗鼓,迎接2020的到来,未来,还有很长的路要走~
上周的练习题参考答案如下,大家有认真完成么?
编辑:玥怡居士|审核:世外居士
往期回顾
Java学习历程之----基础篇(十一)
Java学习历程之----基础篇(十)
Java学习历程之----基础篇(九)
居士之家
IT进阶之旅
嗨,你还在看吗?