Javase—循环语句习题
程序员文章站
2022-07-14 23:54:08
...
/**
* 2.本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少?(用double存储)
*/
package com.circle;
public class Text2 {
public static void main(String[] args) {
double money=10000; //本金
double rate=0.003; //利息
//5年后的本金
for(int i=0;i<5;i++) {
money=money*(1+rate);
}
System.out.println("5年后的本金为:"+money);
}
}
/**
* 3. 计算出1—100之间所有能被3整除的整数的和?
*/
package com.circle;
public class Text3 {
public static void main(String[] args) {
int sum=0; //和
// 方法一:
// //循环遍历1-100之间的数
// for(int i=1;i<=100;i++) {
// //如果该数能被3整除,则加到总和中
// if(i%3==0) {
// //System.out.println(i);
// sum+=i;
// }
// }
//方法二:
int i=3;
while(i<=100) {
sum+=i;
i+=3;
}
System.out.println();
System.out.println("1—100之间所有能被3整除的整数的和为:"+sum);
}
}
/**
* 6. 找出一个数的所有因子数
*/
package com.circle;
import java.util.Scanner;
public class Text6 {
public static void main(String[] args) {
//因子数就是能被它整除的数
Scanner s=new Scanner(System.in);
System.out.println("请输入一个正整数:");
int n=s.nextInt();
System.out.println("该数的因子数有:");
if(n>0) {
for(int i=1;i<n;i++) {
if(n%i==0) {
System.out.println(i);
}
}
}else if(n<0) {
for(int i=-1;i>n;i--) {
if(n%i==0) {
System.out.println(i);
}
}
}else {
System.out.println("该数为0,没有因数");
}
s.close();
}
}
/**
* 7. 输入一个数,判断这个数是否是素数;
*/
package com.circle;
import java.util.Scanner;
public class Text7 {
public static void main(String[] args) {
//素数:只能被1和自身整除的数,也被称为是素数,最小是2
Scanner s=new Scanner(System.in);
System.out.println("请输入一个正整数:");
int n=s.nextInt();
//设置因数初始个数为0;
int factor=0;
if(n>1) {
for(int i=2;i<n;i++) {
//当该数存在因数时,将因子个数+1
if(n%i==0) {
factor++;
}
}
//如果该数没有1和自身以外的因数,则该数为质数
if(factor==0) {
System.out.println("您输入的数:"+n+" 为素数");
}else {
System.out.println("您输入的数:"+n+" 不是素数");
}
}
s.close();
}
}
/**
* 8 定义一个正整数如:1205 统计它的各位数字中零的个数,并求各位数字中的最大者。
*/
package com.circle;
import java.util.Scanner;
public class Text8 {
public static void main(String agrs[]) {
Scanner s=new Scanner(System.in);
System.out.println("请输入一个正整数:");
int n=s.nextInt();
int num; //存储每个位置的值
int count=0; //存储0的个数
int max=0; //存储最大数
while(n!=0) {
num=n%10; //获取该数除10取余的值
n=n/10; //获得该数除10以后的值
if(num==0) {
count++;
}
//三元运算符:获取各位数字中的最大者存在max中
max=max>num?max:num;
}
System.out.println("该数各位数字中零的个数为:"+count);
System.out.println("该数各位数字中的最大者为:"+max);
s.close();
}
}
/**
* 9 有1020个西瓜,第一天卖掉总数的一半后又多卖出两个,以后每天卖剩下的一半多两个,问几天以后能卖完
*/
package com.circle;
public class Text09 {
public static void main(String[] args) {
int num=1020; //最初的西瓜个数
int day=0; //卖完需要的天数
while(num>0) {
num=num/2-2;
day++;
}
System.out.println(day+"天以后能卖完");
}
}
/**
* 10猴子吃桃问题: 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃了一半,又多吃一个,
* 以后每天都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子。求第一天共摘了多少个?
*/
package com.circle;
public class Text10 {
public static void main(String[] args) {
//利用反推
int sum=1; //第9天结束,第10天早上的桃子个数
for(int i=9;i>0;i--) {
sum=(sum+1)*2;
}
System.out.println("第一天共摘了"+sum+"个");
}
}
/**
* 11判断一个数是否是完全数(完数指的是一个数的所有因子数的和等于这个数本身,例如 6=1+2+3,即6就是完全数)
*/
package com.circle;
import java.util.Scanner;
public class Text11 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("请输入一个正整数:");
int n=s.nextInt();
int sum=0; //存储因子数的和
for(int i=1;i<n;i++) {
//获取所有的因子数,相加的和存储到sum里
if(n%i==0) {
sum+=i;
}
}
if(sum==n) {
System.out.println("该数:"+n+" 为完全数");
}else {
System.out.println("该数:"+n+" 不为完全数");
}
s.close();
}
}
/**
* 12.循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误(使用break)
*/
package com.circle;
import java.util.Scanner;
public class Text12 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
int n; //存储每门课的成绩
int avg=0; //存储平均分
System.out.println("请输入该学生5门课的成绩:");
int i=0;
while(i<5) {
n=s.nextInt();
if(n<0) {
System.out.println("录入错误");
break;
}
avg+=n;
i++;
}
if(i==5) {
System.out.println("该学生5门课的平均分为:"+avg/i);
}
s.close();
}
}
上一篇: python字符串格式化format