第一次实验:实验目的和要求
1. 熟练掌握Java开发环境的安装和使用
2. 掌握Java变量、表达式
3. 熟练掌握三大控制结构,会编写相关程序
1.编写一个Java应用程序,用户从键盘输入一个1~99999之间的整数,程序判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
System.out.println("请输入一个数(1~99999):");
int num;
while(1){
num=input.nextInt();
if(num<1 || num>99999)
System.out.println("请重新输入:");
else
break;
}
int num1;
int []a=new int[5];
for(num1=0;num>0;num1++)
{
a[num1]=num%10;
num/=10;
}
System.out.printf("整数为%d位数\n",num1);
boolean flag = true;
for(int k=0;k<numl/2;k++)
{
if(a[k] != a[num1-k-1])
{
flag = false;
break;
}
}
if(flag)
System.out.println("该数为回文数");
else
System.out.println("该数不是回文数");
}
}
2. 编写一个Java应用程序,实现猜数字,具体要求如下:
1)随机分配一个1~100之间的整数。
2)用户反复输入自己的猜测并进行比较。
3)程序返回提示信息:“猜大了”、“猜小了”、“猜对了”,直到猜对为止。
import java.util.Scanner;
import java.util.*;
import java.util.Random;
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int ran1=(int)(Math.random()*100+10);
while(true){
System.out.println("请输入你猜测的数字:");
int num=input.nextInt();
if(num==ran1){
System.out.println("猜对了");
break;}
else if(num<ran1)
System.out.println("猜小了");
else if(num>ran1)
System.out.println("猜大了");
}
}
}
3. 利用循环语句打印如下图所示的图案(五行的倒三角形)
public static void main(String[] args) {
int num =4;
for(int i=num;i>0;i--){
for(int k=num;k!=i;k--)
System.out.printf(" ");
for(int j=0;j<2*i-1;j++)
System.out.printf("*");
for(int k=num;k!=i;k--)
System.out.printf(" ");
System.out.printf("\n");
}}
4. 方法的定义与调用练习。
1)将第3题的功能定义成方法,方法头为:
static void printStar(int n)
该方法的功能是输出n行用*号构成的倒三角。
2)在main方法中调用printStar方法,分别输出3行、5行与7行的倒三角图形。运行结果如下图所示:
static void printStar(int n,int max)
{
for(int i=n;i>0;i--){
for(int k=7;k!=i;k--)
System.out.printf(" ");
for(int j=0;j<2*i-1;j++)
System.out.printf("*");
for(int k=7;k!=i;k--)
System.out.printf(" ");
System.out.printf("\n");
}
}
public static void main(String[] args)
{
printStar(3,7);
printStar(5,7);
printStar(7,7);
}