JavaSE基础练习题
基本功练习
基础循环:
- 请计算1-100所有数字的累加之和
public static void main(String[] args) {
//定义变量sum存储1-100的和;
int sum = 0;
//定义变量i记录循环次数,每次循环自增1;
for(int i = 1; i<=100; i++){
//把每次循环后的结果存到sum里;
sum += i;
}
System.out.println(sum);
}
- 计算1-100奇数偶数之和分别是多少
public static void main(String[] args) {
//定义一个sum1存储1-100之间的偶数;
int sum1 = 0;
//定义一个sum2存储1-100之间的奇数;
int sum2 = 0;
for(int i = 1;i<=100;i++){
//如果i能被2整除,说明是偶数,存在sum1里面,否则存在sum2里面;
if(i%2==0){
sum1 += i;
}else{
sum2 +=i;
}
}
System.out.println("偶数的和是"+sum1+",奇数的和是"+sum2+",总和是"+(sum1+sum2));
}
- 计算1-100之间能被7整除的数字之和
public static void main(String[] args) {
//定义一个变量sum存和
int sum = 0;
for(int i = 1; i<= 100;i++){
//如果循环数能被7整除,则加到sum里
if(i%7==0){
sum += i;
}
}
System.out.println(sum);
}
打印图形
- 正方形
关于矩形的打印,可以理解为对一行或一列循环的再次循环,比如5x5的正方形,是对一个一列数【j=5】的循环的再次循环5次。所以需要第二个for循环把第一个for循环包起来,使其重复5次(长方形同理)。
public static void main(String[] args) {
//定义行数i
for(int i = 0;i < 5;i++){
//定义列数j
for(int j = 0;j < 5;j++){
System.out.print("*"+"\t");
}
System.out.println();
}
}
- 圆形
- 三角形(等边、直角、倒三角)
- 菱形
九九乘法表
public static void main(String[] args) {
//定义列数i
for(int i = 1;i <= 9;i++){
//定义行数j
for(int j = 1;j <= i;j++){
System.out.print(j + "x" + i + "=" + (i*j) + "\t");
}
System.out.println();
}
}
幸运数
public static void main(String[] args) {
//定义一个随机数字lucknum
int lucknum = (int) (Math.random() * 1000 + 1);
//创建输入工具
Scanner sc = new Scanner(System.in);
for (int i = 0;; i++) {
System.out.println("请输入你猜的数字:");
//定义变量nextNum,接收用户输入的数字
int nextNum = sc.nextInt();
//判断用户输入的数字与随机数是否相等,如果相等则输出猜对了并结束循环
if (nextNum == lucknum) {
System.out.println("恭喜你,猜对了,你一共用了" + i + "次机会");
break;
} else if (nextNum < 1 || nextNum > 1000) {
System.out.println("数字不合法,请输入1-1000之间的数字");
} else if (nextNum > lucknum) {
System.out.println("猜大了,往小一点猜");
} else {
System.out.println("猜小了,往大一点猜");
}
}
}
雉兔同笼
今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?
已知:鸡和兔子共有35只,鸡的只数x2 + 兔子的只数x4 =94
public static void main(String[] args) {
//鸡兔总只数为35只,设鸡的只数为i,兔子的只数为j = 35-i
//由脚的数量可知:i*2 + j*4 = 94;
int i = 0;
int j = 0;
for(;i<35;i++){
j = 35 - i;
if((i*2) + (j*4) == 94){
System.out.print("鸡的只数为" + i + "只," + "兔子的只数为" + j + "只");
}
}
}
百鸡百钱
鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡, 问鸡翁、鸡母、鸡雏各几何?
已知:公鸡一只5元,母鸡一只3元,小鸡三只1元,100元正好买一百只鸡,一共可以买到多少只公鸡,多少只母鸡和多少只小鸡?
public static void main(String[] args) {
//已知公鸡+母鸡+小鸡共一百只,设公鸡x只,母鸡y只,那么小鸡为(100-x-y)只;
//已知公鸡5元/只,所以x的最大值不会超过100/5=20只,同理母鸡不会超过33只;
for(int x = 0;x<20;x++){
for(int y = 0;y<33;y++){
//因为小鸡钱数需要除以3会有余数,所以可以把所有参数乘3得到结果
if(x + y +(100-x-y) == 100 && 15*x + 9*y + (100-x-y) == 300){
System.out.print("公鸡的只数为" + x + ",");
System.out.print("母鸡的只数为" + y + ",");
System.out.println("小鸡的只数为" + (100-x-y));
}
}
}
}
水仙花数
水仙花数指一个三位整数,其各位数的立方和等于该数本身。
例如:153=1x1x1 + 5x5x5 + 3x3x3
public static void main(String[] args) {
int a,b,c;
for(int i=100;i<=999;i++) {
//取三位数的百位、十位、个位数字;
a = i / 100;
b = i / 10 % 10;
c = i % 10;
if(i==a*a*a+b*b*b+c*c*c){
System.out.println(i);
}
}
}