Java(流程控制作业)完全数、水仙花数、温度转换

import java.text.DecimalFormat;
import java.util.Scanner;




public class processControl {


/**
* 第三章 流程控制作业 颜碧霞
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
processControl pc = new processControl();
// pc.q1();
// pc.q2();
// pc.q3();
// pc.q4();
// pc.q5();
// pc.q6();
// pc.q7();
// pc.q8();
pc.q9();
}


//1、有限5位数,个位数为6且能被3整除的五位数共有多少?
public void q1(){
for(int i = 10000 ; i < 100000 ; i++ ){
if( i % 10 == 6 && i % 3 == 0)
System.out.println(i);
}
}

//2、反序数就是将整数的数字倒过来的形成的整数。
public void q2(){
Scanner input = new Scanner(System.in);
System.out.print("请输入一个四位数字:");
int number = input.nextInt();
int num1 = number % 10 ;
int num10 = number / 10 % 10 ;
int num100 = number / 100 % 10 ;
int num1000 = number / 1000 % 10 ;
int num = num1000 + num100 * 10 + num10 * 100 + num1 * 1000 ;
if(number == num) System.out.println(number+"是反序数");
else System.out.println(number+"不是反序数");
}

//3、完全数:如果一个数恰好等于他的因子之和,则成为“完全数”。如:6的因子是1、2、3,而6=1+2+3,则6是个“完全数”。试求出1000以内的全部“完全数”。
public void q3(){
int sum = 0 ;
for(int i = 1 ; i <= 1000 ; i++){
for(int j = 1 ; j < i  ; j++){
if(i % j == 0)
sum += j ;
}
if(sum == i)
System.out.println(i + "是个完全数");
sum = 0 ;
}
}

//4、和的平方数3025这个数具有一种独特的性质:将它评分为两段,即30和25,使之相加后求方,即(30+25)的平方等于3025本身。
//求具有这样性质的全部四位数。这些数字满足 abcd=(ab+cd)*(ab+cd)的关系
public void q4(){
for(int i = 1000 ; i <= 9999 ; i++){
int ab = i / 100 ;
int cd = i % 100 ;
if(Math.pow(ab + cd, 2) == i)
System.out.println(i);
}
}

//5、打印出100-999之间的所有“水仙花数”。所谓“水仙花数”,是指一个3位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数。
public void q5(){
for(int i = 100 ; i <= 999 ; i++){
int i1 = i / 100 ;
int i2 = i % 100 / 10 ;
int i3 = i % 10 ;
if(i == Math.pow(i1, 3) + Math.pow(i2, 3) + Math.pow(i3, 3) )
System.out.println(i + "是一个水仙花数");
}
}

//6、学校2009年培养学生900人,每年增长25%,请问按此速度增长,到哪一年培训学生人数将达到1万人。
public void q6(){
int students = 900 ;
int count = 2009 ;
do{
students *= 1.25 ;
count++;
}while(students < 10000);
System.out.println("到" + count + "年培训学生达到" + students + ",首次超过一万人");
}

//7、使用do-while实现:输出摄氏温度与华氏温度的对照表,要求它从摄氏温度0度到250度,每隔20度为一项,对照表中的条目不超过10条。
//转换关系:华氏温度 = 摄氏温度 * 9 / 5.0 + 32
public void q7(){
DecimalFormat df = new DecimalFormat("0.0");
int temperature = 0 ;
System.out.println("摄氏温度\t华氏温度");
do{
System.out.println(temperature + "\t" + df.format(temperature * 9 / 5.0 + 32));
temperature += 20 ;
}while(temperature <= 250);
}

//8、求1~100之间不能被3整除的数之和
public void q8(){
int sum = 0 ;
for(int i = 1 ; i <= 100 ; i++){
if(i % 3 != 0)
sum += i ;
}
System.out.println(sum);
}

//9、循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误
public void q9(){
DecimalFormat df = new DecimalFormat("0.00");
int sum = 0 ;
Scanner input = new Scanner(System.in);
for(int i = 5 ; i > 0 ; i--){
System.out.print("请输入分数");
int score = input.nextInt();
if(score < 0){
System.out.println("录入的成绩为负数,错误");
System.exit(0);
}
sum += score ;
}
System.out.println("你的平均分是:" + df.format(sum / 5.0));
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值