三道java初学者习题
来源:互联网 发布:虚拟数据库 编辑:程序博客网 时间:2024/04/30 08:59
1.任写一个五个元素以上的数组,获取数组的最大值
在学习数组的时候,看到的一个习题,当时Lz想的比较简单,就是用if else语句一个一个去比较好咯,于是就出现了如下的代码:
public class Excise { public static void main(String[] args) { //任写一个数组,获取数组的最大值 int max; int [] good = {12,34,56,7,78}; if(good[0] > good[1]) { max = good[0]; }else{ max = good[1]; } if(max > good[2]) { max = max; }else{ max = good[2]; } if(max > good[3]) { max = max; }else{ max = good[3]; } if(max > good[4]) { max = max; }else{ max = good[4]; } System.out.println("max:" + max); }}
**当然,这样写是没有任何问题的,可是,我自己都觉得他真的好啰嗦,要是真的让老子找到100个数中最大的数,真的就写懵逼了,想到C语言的学习中有max函数,eg:max(x,y)即找出x,y中较大的数并返回,于是乎Lz就去书上翻了翻,还真有:像这样的Math.max(x,y)
于是,代码就变成了这样了:**
```public class Excise { public static void main(String[] args) { //任写一个数组,获取数组的最大值 int max = 0; int [] good = {12,34,56,7,78}; for(int i = 0;i < good.length;i ++) { max = Math.max(max,good[i]); } System.out.println("max:" + max); }}
**哈哈,是不是好很多了。
还可以这样:**
public class Excise { public static void main(String[] args) { int max = 0; int [] good = {12,3,45,15,67,98,222}; for(int i = 0;i < good.length;i ++) { if(good[i] > max) { max = good[i]; } } System.out.println(max); }}
2 求出100之内所有偶数的和
这个题貌似没有什么难度的,Lz掐指一算,一个for循环搞定!如下:
public class Excise {
public static void main(String[] args) {
int total = 0;
for(int i = 0;i <= 100;i ++) {
if(i % 2 == 0) {
total += i;
} } System.out.println(total);}
}
3.将数字12345反转为54321
这个题还是需要一定的想法的,我刚开始的想法呢,就是将12345一个个全都提取出来,最后再进行拼接就好了。于是代码是这样的
public class Excise {
public static void main(String[] args) {
int a = 12345;
int g,s,b,q,w;
g = a % 10;
s = (a % 100 - g) / 10;
b = (a % 1000 - s * 10 - g) / 100;
q = (a % 10000 - b * 100 - s * 10 - g) / 1000;
w = a / 10000;
System.out.println(“”+ g + s + b + q + w);
}
}
是不是看起来乱乱的感觉。。。可是Lz的水平真的好像已经到这了,如果给老子个123456789再反转不知道要写多久。。。就想着去网上找找大神的写法,于是就看见了这种:
public class Excise { public static void main(String[] args) { int i = 12345; int backspin = 0; while(i > 0){ int tmp = i % 10; backspin = backspin * 10 + tmp; i = i / 10; } System.out.println(backspin); }}
讲真,看到这样的写法,真的是膜拜的感觉,无论来多少数老子都不怕了。哈哈哈今天又学了一种方法,现在补上去:
public class Excise { public static void main(String[] args) { int i = 123456; while(i > 0) { System.out.print(i % 10); i = i / 10; }}}
我坚信,代码是会越写越好的!
- 三道java初学者习题
- Java初学者习题20道
- Java初学者习题20道
- Java初学者习题20道
- Java初学者习题20道(转)
- Java初学者的20道习题
- (转)Java初学者习题20道
- java基础习题50道(三)
- 初学者学Java(三)
- Java编程语言初学者习题以及解决思路
- Java面向对象编程习题总结(三)
- Java面向对象编程习题总结(三) .
- Java习题每日练(三)
- 剑指offer习题JAVA实现(三)
- java初学者(三)final 关键字
- 习题(三)
- 习题三
- 习题三
- Swift开发:UIAlertController 弹框
- [leetcode]Substring with Concatenation of All Words
- L2-010. 排座位
- 字符串分类
- influxDB上手试用
- 三道java初学者习题
- 计蒜客 回文平方数
- hbase伪分布式集群搭建配置文件一览
- QT环境安装VS2013
- js,jsp,html,java文件的注释一行快捷键
- 分布式任务调度平台Antares
- 刷新数据库总是报错:不能增加或者更新约束, Cannot add or update a child row: a foreign key constraint fails
- MVC调用存储过程实现分页,带查询条件
- 树书上的题目M-13