随着高科技时代的到来,高新技术已经渗透到我们生活的方方面面了。大家对于它们的了解也更加的深入。今天就来为大家介绍java基础算法题,并分享实例方便理解。一起来看看吧。
一、FindNumber.java
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。代码展示如下:
package cn.edu.hit; /** * 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? * 1.程序分析:在10万以内判断,先将该数加上100后再开方, * 再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。 * 请看具体分析: * @author tonylp */ public class findNumber { public static void main(String[] args) { for (int i = 0; i < 100000; i++) { if ((Math.sqrt(i + 100) % 1 == 0) && (Math.sqrt(i + 168) % 1 == 0)) { System.out.println(i); } } } }
二、TestDay.java
题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。代码展示如下:
package cn.edu.hit; import java.util.Scanner; /** * 题目:输入某年某月某日,判断这一天是这一年的第几天? 1.程序分析:以3月5日为例,应该先把前两个月的加起来, 然后再加上5天即本年的第几天, * 特殊情况,闰年且输入月份大于3时需考虑多加一天。 * * @author tonylp */ public class testDay { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入年份:"); int year = sc.nextInt(); System.out.println("请输入月份:"); int month = sc.nextInt(); System.out.println("请输入天数:"); int day = sc.nextInt(); int date = 0; int arr[] = { 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 }; if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) { arr[1] = 29; } for (int i = 0; i < month - 1; i++) { date += arr[i]; } date += day; System.out.println("天数为:" + date); } }
三、TestCompare.java
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。代码展示如下:
package cn.edu.hit; import java.util.Scanner; /** * 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 * 1.程序分析:我们想办法把最小的数放到x上, * 先将x与y进行比较,如果x>y则将x与y的值进行交换, * 然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。 * @author tonylp */ public class testCompare { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入x:"); int x = sc.nextInt(); System.out.println("请输入y:"); int y = sc.nextInt(); System.out.println("请输入z:"); int z = sc.nextInt(); int temp; if (x > y) { temp = x; x = y; y = temp; } if (x > z) { temp = x; x = z; z = temp; } if (y > z) { temp = y; y = z; z = temp; } System.out.println("从小到大的顺序为:" + x + "<" + y + "<" + z); } }
以上就是关于 java基础算法题,FindNumber.java、TestDay.java和TestCompare.java实例分享的有关内容了。如果你对java知识感兴趣,想要了解更多java基础,敬请关注奇Q工具网。
推荐阅读: