此文为本人学习java基础所练习的题型,皆为学习Java路上的必做,适合小白入门练习
文(2021/8/22)

目录

0.前文概要

1.简单逻辑结构题

2.含有数组题型


0.前文说明

  • 文中所有代码都省略“头文件”
  • 做题中总结的一些小方法:

int x=i/100;     //求百位
         int y=i%100/10;    //求十位
         int z=i%10;    //求个位


1.简单逻辑结构题

1、判断闰年/求1000-2000之间的闰年

public static void main(String[] args) {Scanner sc=new Scanner(System.in);int year=sc.nextInt();if ((year % 4 == 0 && year % 100 != 0)||(year%400==0)) {System.out.println(year+"是闰年");}}public static void main(String[] args) {for (int year = 1000; year <= 2000; year++) {if ((year % 4 == 0 && year % 100 != 0)||(year%400==0)) {System.out.println(year+"是闰年");}}}

2、判断素数

public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请输入一个整数:");int num=sc.nextInt();boolean isPrime=true;for (int i = 2; i < num; i++) {if (num % i == 0) {isPrime = false;break;}}if (isPrime == true) {System.out.println(num + "是素数");} else {System.out.println(num + "不是素数");}}

3.计算阶乘和。例如1!+2!+3!+4!+5!

public static void main(String[] args) {int sum = 0;Scanner sc = new Scanner(System.in);System.out.println("请输入第一个数:");//1int a = sc.nextInt();System.out.println("请输入第二个数:");//5int b = sc.nextInt();for(int i = a; i <= b ; i++){int fact = 1;for (int j=i;j >= 1;j--){fact *= j;}sum += fact;}System.out.println("结果为:" + sum);}
 //递归public static long  fac(int n){//返回值最好设计为long 否则会有溢出if (n == 1) {return 1;}return n * fac(n - 1);}public static int sum(int n){if(n==1){return 1;}return fac(n)+sum(n-1);}public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();int ret=sum(n);System.out.println(n+"的阶乘和为"+ret);}

4、输出乘法口诀表

 public static void main(String[] args){Scanner sc=new Scanner(System.in);System.out.println("请输入一个数");int num=sc.nextInt();for(int i=1;i<=num;i++){for(int j=1;j<=i;j++){System.out.print((i+"*"+j+"="+(i*j)+"\t"));}System.out.println(" ");}}

5.最大公约数

//1.枚举法public static void main(String[] args){Scanner in=new Scanner(System.in);int a=in.nextInt();int b=in.nextInt();int gcd=1;for(int i=2;i<=a&&i<=b;i++){if(a%i==0&&b%i==0){    //能同时被两个数整除gcd=i;}}System.out.println(a+"和"+b+"的最大公约数是"+gcd);}
//2.辗转相除法public static void main(String[] args){Scanner sc=new Scanner(System.in);int a=sc.nextInt();int b=sc.nextInt();int oa=a;int ob=b;//为了后文写的更清楚while(b!=0){int r=a%b;a=b;b=r;}System.out.println(oa+"和"+ob+"的最大公约数是"+a);}
6、写一个函数返回参数二进制中 1 的个数
 //法1:public static void main(String[] args){Scanner sc=new Scanner(System.in);int num=sc.nextInt();int count=0;for(int i=0;i<32;i++){if(((num>>i)&1)==1){count++;}}System.out.println(num+"的二进制中1的个数为"+count);}
public static void main(String[] args){Scanner sc=new Scanner(System.in);int num=sc.nextInt();int count=0;int a=num;while(num>0){count++;num=num&(num-1);}System.out.println(a+"的二进制中1的个数为"+count);}

7.获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。

public static void main(String[] args){Scanner sc=new Scanner(System.in);int num=sc.nextInt();for(int i=31;i>=1;i-=2){int ret=(num>>i)&1;System.out.print(ret);}System.out.println();for(int i=30;i>=0;i-=2){int ret=(num>>i)&1;System.out.print(ret);}}

8、猜数字游戏

 public static void main(String[] args){//Math random():可以随机生成一个0.0-1之间,包括0.不包括1;int randomNum=(int)(Math.random()*100)+1;while(true){Scanner sc=new Scanner(System.in);int inNum=sc.nextInt();if(inNum>randomNum){System.out.println("太大了");}if(inNum<randomNum){System.out.println("太小了");}if(inNum==randomNum){System.out.println("猜中了");break;}}}

9.递归求 1 + 2 + 3 + ... + 10

 public static int sum(int num){if(num==1){return 1;}return num+sum(num-1);}public static void main(String[] args){int a=10;int ret=sum(a);System.out.println(ret);}

10.1234打印出1 2 3 4

public static void main(){int num=1234;print(num);}public static void print(int num){if(num>9){print(num/10);}System.out.println(num%10);}

11、求出0~999之间的所有“水仙花数”并输出。

// (“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本 身,如;153=1+5+3?,则153是一个“水仙花数“。)

 public static void main8(String[] args){for(int i=100;i<1000;i++){int x=i/100; //求百位int y=i%100/10;//求十位int z=i%10;//求个位if(x*x*x+y*y*y+z*z*z==i){System.out.println(i+"是水仙花数");}}}

12.求斐波那契数列

//递归
public static int fib(int num){if(num<=2){return 1;}return fib(num-2)+fib(num-1);}public static void main(String[] args){Scanner sc=new Scanner(System.in);int a=sc.nextInt();int ret=fib(a);System.out.println(ret);
}
//循环
public static long fibs(int n){long a=1;long b=1;long c=0;for(int i=3;i<=n;i++){c=a+b;b=a;a=c;}return c;}public static void main(String[] args){Scanner sc=new Scanner(System.in);int a=sc.nextInt();int ret=fibs(a);System.out.println(ret);
}

13.模拟输入

//编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误,可以重新输 入,最多输入三次。三次均错,则提示退出程序

 public static void main(String[] args) {String password="123456";Scanner sc=new Scanner(System.in);System.out.println("请输入6位数密码:");int reTime=3;for(int i=0;i<3;i++){String input=sc.nextLine();if(input.equals(password)){System.out.println("输入正确!");break;}else{reTime--;System.out.println("输入错误!你还有"+reTime+"次机会!");}}if(reTime==0){System.out.println("输入次数用完,退出程序!");}}

14、计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值 。

public static void main(String[] args) {double i=1.0;double n=1.0;double j=-1.0;double sum=0.0;for(i=1;i<=100;i++){j=-j;n=j/i;System.out.println(n);sum=sum+n;}System.out.println("和为"+sum);}

2.含有数组题型

1、有一组数据,只有一个数字是出现一次,其他是两次,请找出这个数字。

 public static void main3(String[] args) {int[] arr={1,2,3,1,2,3,4,4,5};frequency(arr);}public static void frequency(int[] a){for(int i=0;i<a.length;i++){int count=0;for(int j=0;j<a.length;j++){if(a[i]==a[j]){count++;}}if(count==1){System.out.println("只出现1次的数字是:"+a[i]);}}}

2、调整数组顺序使得奇数位于偶数之前。调整之后,不关心大小顺序。

 public int[] reOrderArray(int[] nums){//奇数个数int oddCnt = 0;for(int x: nums){if (!isEven(x)){oddCnt++;}}int[] copy =  nums.clone();int i = 0, j = oddCnt;for (int num : copy){if (num % 2 == 1)nums[i++] = num;elsenums[j++] = num;}return nums;}private boolean isEven(int x){return x % 2 == 0;}public static void main(String[] args) {int nums[] = {1,2,3,4,5,6,7,8,9};TestHomework3 o = new  TestHomework3();int[] data = o.reOrderArray(nums);System.out.println(Arrays.toString(data));}

java编程基础 | 练习题相关推荐

  1. Java大神推荐,java编程基础必备(必看)

    在没有以前的操作习惯的错误情况下,反而容易接受新知识,所以不要因为自己对java一无所知而自卑,相反,这是菜鸟们的优势,但是如何才能从一个菜鸟历练成大神呢,当然是需要学习了,不学习就想成为大神,就是在 ...

  2. 第二章java编程基础测试题_Java编程基础测试题分享

    单选题:(每道题目2分) 1. 下列哪个声明是错误的?(B) A. int i=10; B. float f=1.1; //float f=1.1f C. double d=34.4; D. byte ...

  3. java编程一般类抽象类的定义,Java编程基础抽象类

    本文主要是讲述Java编程基础-抽象类,更多Java技术知识,请登陆疯狂软件教育官网. 抽象类: 抽象:不具体,看不明白关键字abstract 抽象类的特点: 1.抽象方法只能定义在抽象类中,抽象类和 ...

  4. 《Java程序员面试秘笈》—— 第1章 Java编程基础

    本节书摘来异步社区<Java程序员面试秘笈>一书中的第1章,作者:常建功,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第1章 Java编程基础 通过考察Jav ...

  5. Java编程基础 - 泛型

    Java编程基础 - 泛型 [导读] . 什么是泛型 一般传统而言,泛型允许程序员在强类型语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型. 编程技术发展至今很多语言,尤其是强 ...

  6. 实验一 Java编程基础

    面向对象--Java实验报告 实验一:Java基础编程 实验一 Java编程基础 <center> <strong>姓名:</strong> <u>XX ...

  7. Java实验01 Java编程基础(猜数字游戏、随机点名器)

    实验一 Java编程基础 实验1-1 随机点名器 一.实验描述 1. 任务描述 编写一个随机点名的程序,使其能够在全班同学中随机点中某一名同学的名字.随机点名器具备3个功能,包括存储全班同学姓名.总览 ...

  8. Java编程基础(入门)

    Java编程基础 Java概述 Java是一种功能强大的面向对象的编程语言,它不仅吸收了C++语言的各种优点,还摈弃了C++中难以理解的多继承.指针等概念 Java开发环境搭建: 详情见:JDK和Ec ...

  9. java中的常用名词,Java编程基础常见英语词汇

    Java编程基础常见英语词汇 Java编程基础中常见英语的词汇有哪些呢?这些都是学Java编程需要运用到的,下面内容由小编为大家介绍Java编程基础常见英语词汇,供大家参考! Java编程基础常见英语 ...

  10. java编程基础学习需要多久的时间

    Java是当前世界颇为流行的编程语言之一,很多想学习java的人都会听过一句话,先学好java基础,在考虑是自学还是培训学习,同时新的问题出现了,java基础包括什么,需要学习多久呢,对于小白来说,想 ...

最新文章

  1. java-第十三章-类的无参方法(一)-实现客户姓名的添加和显示
  2. cocos2dx event call stack
  3. 【Spring Boot】1.基础知识
  4. CEDEC 2021 | 让巨大化角色充满真实感的五大法则
  5. bugku-杂项 convert
  6. SharePoint 2013的REST编程基础
  7. Python3标准库:asyncio异步I/O、事件循环和并发工具
  8. 阿里云-设备影子概览
  9. field list什么意思_Redis:我这21个灵魂拷问你拿什么挡?
  10. cas client 更新ticket_有人知道 cas单点登录系统是怎么样取得proxyticket的?
  11. mysql sql 语法错误_执行SQL查询时出现MySQL语法错误
  12. HZAU 1001 Handing Out Candies
  13. 哈代-温伯格平衡定律(The Hardy-Weinberg Equilibrium)
  14. android bp文件_Android 基础 | Android.bp 语法浅析
  15. Tushare学习文档(八 银行间同业拆放利率)
  16. the rode to success
  17. 算术游戏C语言,10个有趣的算术游戏,让你立刻爱上数学!
  18. 恋与抽卡模拟器网页_橙光恋与制作人
  19. [Unity游戏]卡牌记忆消除游戏
  20. ESP32-C3入门教程 WiFi篇⑤——WiFi Smart Config 智能配网(基于AirKiss)

热门文章

  1. Foobar2000之处理无损音乐格式
  2. 01背包问题c语言,遗传算法的0-1背包问题(c语言)
  3. 计算机电子书 2016 BiliDrive 备份
  4. 游戏窗口化工具_仙剑奇侠传16珍藏版大合集(含各个版本和工具)
  5. 如何使用EditPlus3编写汇编语言
  6. dz09手表刷android,DZ09手表MTK6260刷机包和工具
  7. loadrunner11的安装
  8. amd显卡风扇调节_显卡风扇转速调节
  9. 基于java的房屋销售管理系统设计(含源文件)
  10. OMRON PLC使用技巧总结