第一题:
题目:判断101-200之间有多少个素数,并输出所有素数。
程序:
public class LateTest02
{
public static void main(String[] args){
System.out.println(“请输入判断素数的范围”);
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.print(“请输入第一个数(不能输入1):”);
int num1 = s.nextInt();
System.out.print(“请输入第二个数:”);
int num2 = s.nextInt();//接收两个数
int sum = prime(num1,num2);
System.out.println("总共有素数" + sum + "个");
}
//用来判断素数的方法 素数:prime
public static int prime(int num1,int num2){
//判断素数,计算个数
int sum = 0;//素数总数计数sum
for(; num1 <= num2; num1++){
boolean a = true;//用来判断是否是素数:是素数为true 不是为false
for(int i = 2; i < num1; i++){//i是除数,从2开始,到num1-1结束
if(num1 % 2 == 0){
a = false;
break;//当出现一次能被整除时,可以不用继续进行判断,break跳出当层循环
//可以节省运行时间
}
}
if(a == true){//判断是否为素数,是则输出
System.out.println(num1);
sum++;//每输出一个,计数一次
}
}
return sum;//返回总数
}
}
第二题
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序:
public class LateTest03
{
public static void main(String[] args){
//java.util.Scanner s = new java.util.Scanner(System.in);
System.out.println(“以下为水仙花数:”);
daffodilNum();
}
public static void daffodilNum(){
int j = 0;
for(int i = 100; i <= 999; i++){
int hundred = i / 100;//取出百位数 百位:hundred
int ten = (i % 100) / 10;//取出十位上的数
int digits = i % 10;//取出个位数 个位数:digits
int sum = cubed(digits) + cubed(ten) + cubed(hundred);
if (sum == i)
{
System.out.println(i);
j++;
}
}
System.out.println("水仙花数总数:" + j);
}
//计算三次方的方法 三次方:cubed
public static int cubed(int i){
return i * i * i;
}
}
另解:
第三题
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下
的用C表示。
程序:
public class LateTest04
{
public static void main(String[] args){
System.out.println("Hello World!");
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.print("请输入你的成绩:");
int num = s.nextInt();
grade(num);
}
public static void grade( int num){
char lev = 'C';
if (num > 100 || num < 0){
System.out.println("你的成绩有误!");
return ;
}else if (num <= 100 && num >= 90){
lev = 'A';
}else if (num < 90 && num >= 60){
lev = 'B';
}
System.out.println("你的成绩等级为:" + lev);
}
}
第四题
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
程序:
public class LateTest05
{
public static void main(String[] args){
java.util.Scanner s = new java .util.Scanner(System.in);
System.out.print("请输入第一个数:");
int m = s.nextInt();
System.out.print("请输入第二个数:");
int n = s.nextInt();
System.out.println("最大公约数为:" + approximation(m,n));
System.out.println("最小公倍数为:" + multiple(m,n));
}
//比较两个数的大小,返回小的数
public static int min(int m,int n){
return m < n ? m : n;
}
//公约数 approximation
public static int approximation(int m ,int n){
int num = 1;
for (int i = 2; i <= min(m,n) ; i++ ){
if(m % i == 0 && n % i == 0){
num = i;
}
}
return num;
}
//公倍数 multiple
public static int multiple(int m ,int n){
int num = 1;
for (int i = min(m,n); i <= (m * n) ; i++ ){
if(i % m == 0 && i % n == 0){
num = i;
break;
}
}
return num;
}
}
第五题
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),
几个数相加有键盘控制。
程序:
public class LateTest06
{
public static void main (String[] args){
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.print(“请输入要几个数相加:”);//控制几个数相加
int num = s.nextInt();
System.out.print(“请输入数的值:”);//控制数的值 即a的值
int num1 = s.nextInt();
int sum = 0;//第n位数的值
int sum1 = 0;//总数 s
for(int i = 1; i <= num; i++){
sum = (sum * 10) + num1;//第n位数的值
//2 + 22 + 222 + ... = a1 + (a1 * 10 + a1)
sum1 += sum;//总数 s
if(i == num){//输出格式
System.out.print(sum + "=" + sum1);
}else{
System.out.print(sum + "+" );
}
}
}
//2 + 22 + 222 + ... = a1 + (a1 * 10 + a1)
}
第六题
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完
数。因子:假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子。
程序:
public class LateTest07
{
public static void main(String[] args){
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.print(“请输入范围(从2开始):”);
int num = s.nextInt();
System.out.println(“完数有:”);
//i是被除数 j是除数
for(int i = 2; i <= num; i++){
int sum = 0;//累加数每次都要清零
//******************************这里的书写刚开始出现了错误
for(int j = 1; j < i; j++){ //*******切记不能写成 j <= i 因为一个数的本身不是其因子**********
if(i % j == 0){
sum += j;//将因子累加到sum
}
}
//System.out.println(sum + " " + i);//出现错误后检查的语句
if(sum == i){
System.out.println(i);//输出完数
}
}
}
}
欢迎使用Markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。