>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 12135 个阅读者 刷新本主题
 * 贴子主题:  10道Java编程基础练习题 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2024-04-26 09:23:37     消息  查看  搜索  好友  邮件  复制  引用

1.指数计算问题

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死
,问每个月的兔子对数为多少?程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....(斐波那契)
class AdditiveFor
{

    public static void main(String[] ages)
    {
        int[] intar = new int[4];/* 月份*/
        intar[0] = 1;
        intar[1] = 1;
        for (int i = 0; i < intar.length; i++)
        {
            if (i>1)
            {
                intar[i] = intar[i-1]+intar[i-2];
            }
            System.out.println((i+1)+"月"+"\t"+intar[i]+"只");
        }
    }
}
运行结果
1月 1只
2月 1只
3月 2只
4月 3只

2.指定范围包含的素数

判断101-200之间有多少个素数,并输出所有素数。
class AdditiveFor
{

    public static void main(String[] ages)
    {
        int a = 200;
        for (int j = 100;j <=a;j++)
        {int flag = 0;
            //在2到max范围,找到能把n整除的值
            for (int i = 2; i < j; i++)
            {
                if (j%i==0)
                {

                    flag = 1;
                    break;
                }
            }
            if (flag ==0)
            {
                System.out.println(j+"是素数");
            }
        }
    }
}
运行结果
101是素数
103是素数
107是素数
109是素数
113是素数
127是素数
131是素数
137是素数
139是素数
149是素数
151是素数
157是素数
163是素数
167是素数
173是素数
179是素数
181是素数
191是素数
193是素数
197是素数
199是素数

3.水仙花数

打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身
。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
class car
{
    public static void main(String[] args)
    {
        int a,b,c;
        for(int i = 100;i<1000;i++)
        {
            c = i%10;
            b = (i/10)%10;
            a = i/100;
            if (Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==i)
            {
                System.out.println(""+i);
            }
        }
    }
}

4.分解质因数

将一个正整数分解质因数。例如:输入90,打印出90=233*5。
import java.util.Scanner;

class num
{
    public static void main(String[] args)
    {
        System.out.println("请输入数字");
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        for (int k = 2;k<num;k++)
        {
            while (k!=num)
            {
                if (num%k==0)
                {
                    System.out.print(k+"*");
                    num = num/k;
                }else
                {
                    break;
                }
            }
        }
        System.out.print(num);
    }
}
请输入数字
12
2*2*3

5.条件运算符使用

利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
import java.util.Scanner;

class fraction
{
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的分数");
        double fenshu = sc.nextDouble();
        if (fenshu>=90)
        {
            System.out.println(fenshu +"A");
        }else if (fenshu>=60&&fenshu<90)
        {
            System.out.println(fenshu+"B");
        }else if (fenshu<60)
        {
            System.out.println(fenshu+"C");
        }else if (fenshu>100&&fenshu<0)
        {
            System.out.println("输入无效");
        }
    }
}
请输入你的分数
12
12.0C

输入两个正整数m和n,求其最大公约数和最小公倍数。

import java.util.Scanner;

class number
{
    public static void main(String[] args)
    {
        System.out.println("输入两个数字");
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int max=0,min= 0;//定义最大公约数、最小公倍数
        if (a>b)
        {int t = a;
        a = b;
        b=t;
        }
        for (int i=1;i<=a;i++)
        {
            if (a%i==0&&b%i==0)
                max = i;
        }
        min = a*b/max;
        System.out.println("最大公约数为:"+max+",最小公倍数为:"+min);
    }
}
输入两个数字
72 64
最大公约数为:8,最小公倍数为:576

7.统计字符串中类型个数

import java.util.Scanner;
class character {
    public static void main(String[] args) {
        System.out.print("请输入一串字符:");
        Scanner scan = new Scanner(System.in);
        String str = scan.nextLine();//将一行字符转化为字符串
        scan.close();
        count(str);
    }

    private static void count(String str)
    {
        String E1 = "[\u4e00-\u9fa5]";//汉字
        String E2 = "";
        String E3 = "[0-9]";
        String E4 = "\\s";//空格
        int countChinese = 0;
        int countLetter = 0;
        int countNumber = 0;
        int countSpace = 0;
        int countOther = 0;
        char arry[] = str.toCharArray();//将字符串转化为字符数组
        String[] array_String = new String;//汉字只能作为字符串处理
        for (int i = 0;i<arry.length;i++)
            array_String[i] = String.valueOf(arry[i]);
            for(String s:array_String){
                if(s.matches(E1))
                    countChinese++;
                else if(s.matches(E2))
                    countLetter++;
                else if(s.matches(E3))
                    countNumber++;
                else if(s.matches(E4))
                    countSpace++;
                else
                    countOther++;
            }
        System.out.println("输入的汉字个数:"+countChinese);
        System.out.println("输入的字母个数:"+countLetter);
        System.out.println("输入的数字个数:"+countNumber);
        System.out.println("输入的空格个数:"+countSpace);
        System.out.println("输入的其它字符个数:"+countSpace);
    }
}

8.求s=a+aa+aaa+aaaa+aa…a的值

import java.util.Scanner;

class Car{
     public static void main(String[] args) {
         Scanner reader=new Scanner(System.in);
         int a=0,n=0,b=0;
         System.out.println("输入a:");
         a=reader.nextInt();
         b=a;
         System.out.println("输入次数n:");
         n=reader.nextInt();
         int sum=0;//累加器
         for(int i=0;i<n;i++)
         {
             sum =sum +a;
             a=a*10;
             a = a+b;
         }
         System.out.println("sum="+sum);
     }
}
输入a:
1
输入次数n:
3
sum=123


9.指定范围的完数

public class Prog9{
    public static void main(String[] args){
        int n = 10000;
        compNumber(n);
    }
    //求完数
    private static void compNumber(int n){
        int count = 0;
        System.out.println(n+"以内的完数:");
        for (int i = 1; i <= 10000; i++) {
            int temp = 0;// 定义因子之和变量
            for (int n = 1; n < i / 2 + 1; n++) {
                if (i % n == 0) {
                    temp += n;// 能被整除的除数则被加到temp中
                }
            }
            if (temp == i) {// 如果因子之和与原数相等的话,说明是完数
                System.out.println(i + " ");// 输出完数
            }
        }
    }
}

10.反指数计算

一个球从80米高度自由落下,每次落地后反弹的高度为原高度的一半,第六次落地共经过多少米?第六次反弹多高?

public class Degrees
{
    public static void main(String[] ages)
    {
        double sum=80,
        double height=80;
        for(int i=1;i<=6;i++)//计算第一次落地到第6次落地再弹起小球经过多少米
        {
            height=height/2;
            sum=sum+height*2;
        }//循环结束,小球第6次落地
        System.out.println("第6次落地时的高度是:"+height+"\n小球共经过:"+sum+"米");
    }

}
————————————————
原文链接:https://blog.csdn.net/Lin_bai_/article/details/109215998


程序猿的技术大观园:www.javathinker.net

  Java面向对象编程-->Swing组件(下)
  JavaWeb开发-->JSP中使用JavaBean(Ⅱ)
  JSP与Hibernate开发-->持久化层的映射类型
  Java网络编程-->客户端协议处理框架
  精通Spring-->Vue指令
  Vue3开发-->计算属性和数据监听
  解决javac编译错误: 编码UTF8/GBK的不可映射字符
  面试官问:如何排除Java虚拟机的GC引起的CPU飙高?
  Java泛型中的通配符 T,E,K,V,? 你了解吗
  小数在内存中是如何存储的?
  Java读取大文件的高效率实现_java大文件
  Eclipse使用指南:创建Java项目的步骤
  Java设计模式:解释器模式
  Java入门实用代码:遍历目录
  Java 入门实用代码:设置文件只读
  Java入门实用代码:修改文件最后的修改日期
  正则表达式【匹配非字母和数字】
  【Java 并发笔记】CountDownLatch 相关整理
  初学者该学哪种编程语言
  Java程序代码优化技巧
  Java性能优化总结
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。