
1.有1、2、3、4共4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。
代码
package Person; public class Sws {
public static void main(String[] args) {
int a,b,c,s,count;
count=0;
for(a=1;a<=4;a++){
for(b=1;b<=4;b++){
for(c=1;c<=4;c++){
if(a!=b && b!=c && a!=c){
count++;
s=a*100+b*10+c;
System.out.println(s);
}
}
}
}
System.out.println("能组成"+count+"个不同的三位数"); }
}
运行界面
2.公鸡5元/只,母鸡3元/只,小鸡3只/元,问100元买100只鸡,公鸡、母鸡、小鸡各几只?
代码
2 package Person;
3
4 public class Chicken {
5 public static void main(String[] args) {
6 int i,j,k; //i公鸡,j母鸡,k小鸡
7 for(i=0;i<20;i++){
8 for(j=0;j<33;j++){
9 for(k=0;k<300;k=k+3){
10 if(i+j+k==100 && i*5+j*3+k/3==100)
11 System.out.println("公鸡"+i+"只"+" 母鸡"+j+"只"+" 小鸡"+k+"只");
12 }
13 }
14 }
15
16 }
17 }
运行界面
3.声明一个整型变量a,并赋初值5,在程序中判断a是奇数还是偶数,然后输出判断的结果
代码
package Person; public class Jiou {
public static void main(String[] args) {
int a=5;
if(a%2==0)
System.out.println("偶数");
else
System.out.println("奇数"); }
}
运行界面
4.实现一个数字加密器。运行时输入加密前的整数,通过加密运算后,输出加密后的结果,加密结果仍为一整数
加密规则为:加密结果 = (整数*10+5) / 2 + 3.14159
代码
package Person;
import java.util.*; public class Password {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int i;
double s;
i=sc.nextInt();
s=(i*10+5)/2+3.14159;
System.out.println((int)s); }
}
运行界面
5.从键盘输入圆的半径,计算圆的面积并输出。
代码
package Person;
import java.util.*; public class Round {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
float r,s;
r=sc.nextFloat();
s=3.14f*r*r;
System.out.println(s); }
}
运行界面
6.判断输入的整数是否为素数
代码
package Person;
import java.util.*; public class Sushu {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int i,j;
boolean flag=true; //默认是素数
j=sc.nextInt();
if(j==1){
flag=false;
}
for(i=2;i<j;i++){
if(j%i==0){
flag=false;
break;
}
}
if(flag){
System.out.println(j+"是素数");
}
else{
System.out.println(j+"不是素数");
} }
}
运行界面
7.一维数组的创建和遍历。
声明并创建存放4个人考试成绩的一维数组,并使用for循环遍历数组并打印分数。要求:
首先按“顺序”遍历,即打印顺序为:从第一个人到第四个人;
然后按“逆序”遍历,即打印顺序为:从从第四个人到第一个人;
输出最高分;
输出最低分;
代码
package Person;
import java.util.*; public class Score {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int i,max,min;
int a[]=new int[4];
for(i=0;i<4;i++){
a[i]=sc.nextInt();
}
System.out.println("成绩顺序遍历为:");
for(i=0;i<4;i++){
System.out.println(a[i]);
}
System.out.println("成绩逆序遍历为:");
for(i=3;i>=0;i--){
System.out.println(a[i]);
}
max=0;
for(i=1;i<4;i++){
if(a[max]<a[i]){
max=i;
i++;
}
}
System.out.println("最高分为:"+a[max]);
min=0;
for(i=1;i<4;i++){
if(a[min]>a[i]){
min=i;
i++;
}
}
System.out.println("最低分为:"+a[min]); }
}
运行界面
8.Arrays类的sort方法的理解与应用(参照110页程序)。
对无序的10个数字使用Arrays类的sort方法(可对任意类型的数组进行升序排列)进行排序。要求:
声明并初始化数组
按如下格式输出排序后的数组
sum[0] = 1
sum[1] = 2
…
代码
package Person;
import java.util.*; public class Sort {
public static void main(String[] args) {
int sum[]=new int[]{2,3,8,4,7,1,6,5,9,10};
int i;
Arrays.sort(sum);
for(i=0;i<10;i++){
System.out.println("sum["+i+"]="+sum[i]);
} }
}
运行界面
9.一个班级的学生成绩存在长度为10的数组中,计算不及格的学生数目。
代码
//一个班级的学生成绩存在长度为10的数组中,计算不及格的学生数目。
package Person; public class Fail {
public static void main(String[] args) {
int a[]=new int[]{59,78,99,85,15,93,77,54,65,57};
int count=0;
for(int i=0;i<10;i++){
if(a[i]<=60){
count++;
}
}
System.out.println("不及格的学生数目为:"+count);
}
}
运行界面
10.身份证号码的判断。
声明String类型的字符串,保存身份证号码。编写程序判断:
该号码是否为湖南长沙的号码(判断依据:前4位为4301,即长沙号码;否则不是长沙号码)。
该号码主人的性别(判断依据:第17位为奇数,性别为男;第17位为偶数,性别为女)。
代码
package Person; public class Idcard {
public static void main(String[] args) {
String id;
id="332522199110071234";
String substr=id.substring(0, 3);
char mychar=id.charAt(16); if(id.substring(0, 3)=="4301"){
System.out.println("这是长沙的号码");
}
else{
System.out.println("这不是长沙的号码");
} if(mychar%2==0){
System.out.println("性别为女");
}
else{
System.out.println("性别为男");
} }
}
运行界面
11.实现一个二维数组的转置,操作过程是将二维数组表示的矩阵对应的每一个元素number[i][j]被置为number[j][i]。要求:
可以借助一个新的数组来完成转置
如果不借助新的数组完成转置。
转置举例:
1 2 3 1 4 7
4 5 6 2 5 8
7 8 9 3 6 9
代码
package Person; public class Transpotion {
public static void main(String[] args) {
int a[][]={{1,2,3},{4,5,6},{7,8,9}};
int b[][]=new int[3][3];
int i,j; System.out.println("原数组为:");
for(i=0;i<3;i++){
for(j=0;j<3;j++){
System.out.print(a[i][j]+" ");
}
System.out.println();
} System.out.println("不借助新数组,倒置后的数组为:");
for(i=0;i<3;i++){
for(j=0;j<3;j++){
System.out.print(a[j][i]+" ");
}
System.out.println();
} }
}
运行界面
今日小结:
(int+float=float)以及结果的强制转换最好在输出的地方进行转换(见第4题)
boolean 在java中boolean值只能是true和false,而不能用0和1代替,并且一定要小写。 (if(flag)即 flag为真 即true)(1不是素数,最小的素数是2)(见第6题)
Arrays类(需要先导入包 import Java.util.*;)中sort方法(Arrays.sort(数组名);),可对任意类型的数组进行升序排列 (String类型数组中,数字排在字母前面,大写字母排在小写字母前面)(见第8题)