Java学习笔记6(循环和数组练习题)
1.输出100到1000的水仙花数:
public class LoopTest{
public static void main(String[] args){
int bai = 0;
int shi = 0;
int ge = 0;
for(int i = 100; i < 1000; i++){
bai = i/100;
shi = i/10%10;
ge = i%10;
if(bai*bai*bai+shi*shi*shi+ge*ge*ge == i ){
System.out.println(i);
}
}
}
}
2.打印所有字母:
public class LoopTest{
public static void main(String[] args){
char lower = 'a';
char upper = 'A';
for(int i = 0 ; i < 26 ; i++){
System.out.println(lower+" "+upper);
lower++;
upper++;
}
}
}
3.打印99乘法表:
public class LoopTest{
public static void main(String[] args){
for(int i = 1; i <=9 ; i++){
for(int j = 1 ; j<=i ; j++){
System.out.print(j+"*"+i+"="+j*i+" ");
}
System.out.println();
}
}
}
4.按格式遍历数组:
public class ArrayTest{
public static void main(String[] args){
int[] arr1 = {4,6,7,1};
int[] arr2 = {1,2,3,9,10};
printArray(arr1);
printArray(arr2);
}
public static void printArray(int[] arr){
System.out.print("[");
for(int i = 0 ; i <arr.length ; i++){
if( i == arr.length-1){
System.out.println(arr[i]+"]");
}else{
System.out.print(arr[i]+",");
}
}
}
}
5.数组元素逆序(注意:不是反向遍历):
public class ArrayTest{
public static void main(String[] args){
int[] arr = {1,2,3,4,7,8,9};
reverse(arr);
printArray(arr);
}
public static void reverse(int[] arr){
for(int min=0,max = arr.length-1; min<max ; min++,max--){
int temp = arr[min];
arr[min] = arr[max];
arr[max] = temp;
}
}
public static void printArray(int[] arr){
System.out.print("[");
for(int i = 0 ; i <arr.length ; i++){
if( i == arr.length-1){
System.out.println(arr[i]+"]");
}else{
System.out.print(arr[i]+",");
}
}
}
}
6.选择排序:
public class ArrayTest{
public static void main(String[] args){
int[] arr = {3,1,5,7,8,9,2};
selectSort(arr);
printArray(arr);
}
public static void selectSort(int[] arr){
for(int i = 0; i < arr.length-1; i++){
for(int j = i+1; j<arr.length; j++){
if(arr[i]>arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
public static void printArray(int[] arr){
System.out.print("[");
for(int i = 0 ; i <arr.length ; i++){
if( i == arr.length-1){
System.out.println(arr[i]+"]");
}else{
System.out.print(arr[i]+",");
}
}
}
}
7.冒泡排序:
public class ArrayTest{
public static void main(String[] args){
int[] arr = {3,1,5,7,8,9,2};
bubbleSort(arr);
printArray(arr);
}
public static void bubbleSort(int[] arr){
for(int i = 0; i<arr.length-1 ;i++){
for(int j = 0; j<arr.length-i-1; j++){
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
public static void printArray(int[] arr){
System.out.print("[");
for(int i = 0 ; i <arr.length ; i++){
if( i == arr.length-1){
System.out.println(arr[i]+"]");
}else{
System.out.print(arr[i]+",");
}
}
}
}
8.折半查找法(注意必须是有序的数组):
public class ArrayTest{
public static void main(String[] args){
int[] arr = {1,3,5,7,9,11};
int index = binarySearch(arr, 7);
System.out.println(index);
}
public static int binarySearch(int[] arr,int key){
int min = 0;
int max = arr.length-1;
int mid = 0;
while( min<=max ){
mid = (min+max)/2;
if(key>arr[mid]){
min = mid+1;
}else if(key<arr[mid]){
max = mid-1;
}else{
return mid;
}
}
return -1;
}
}
Java学习笔记6(循环和数组练习题)的更多相关文章
- Java学习笔记之---方法和数组
Java学习笔记之---方法与数组 (一)方法 (1)什么是方法? 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 (2)方法的优点 使程序变得更简短而 ...
- java学习笔记(2)——数组
1.创建数组: int[] a = new int[n];//数组长度n不要求为常数,一旦创建了数组,其大小不可改变 int[] a = {0,1,2,3};//也可这样定义 获得数组元素的个数:ar ...
- 【Java学习笔记】集合转数组---toArray()
package p2; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ...
- Java学习笔记(五)——数组
一.数组使用方法 1. 声明数组 语法: 数据类型[ ] 数组名: 或者 数据类型 数组名[ ]: 其中,数组名可以是任意合法的变量名 2. 分配空间 简单地说,就是指定数组中最多可存储多少个元素 ...
- java学习笔记 --- 条件,循环语句
一.三元运算符 A:格式 比较表达式?表达式1:表达式2; B:执行流程: 首先计算比较表达式的值,看是true还是false. 如果是true,表达式1就是结果. 如果是 ...
- Java学习笔记之——循环语句
一.for循环 语法: for(变量初始化:条件判断:更新循环变量){ 循环体: } 案例: 二.while循环 语法: while(条件){ 循环体: } 如果条件为true,执行循环体,false ...
- Java学习笔记之基础语法(数组)
数组 数组概述:是具有相同数据类型的数据的集合 数组的定义:数据类型 数组名 [] 数组特点: 1,数组是引用数据类型. 2,数组值用大括号,元素之间用逗号隔开,元素的个数是0-N个 3,数组长度是固 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
随机推荐
- ZOJ 2859 二维RMQ(模板)
这题求范围最小值,RMQ正好是用来解决这方面的.所以再适合只是了,又是离线静态输入输出的,所以时间比二维线段树快. #include<iostream> #include<cstdi ...
- 最全Pycharm教程(28)——Pycharm搜索导航之搜索应用实例
1.主题 这里我们将介绍Pycharm另外一项强力的搜索导航功能.如果你希望知道某个特定的类或方法都在project中的哪些地方发挥了作用.也就是找出其全部的usages,这将是一个很巨大而繁琐的pr ...
- SDUTOJ 贪心 -商人小鑫
题目描写叙述 小鑫是个商人,当然商人最希望的就是多赚钱.小鑫也一样. 这天,他来到了一个遥远的国度.那里有着n件商品,对于第i件商品须要付出ci的价钱才干得到. 当然.对于第i件商品,小鑫在自己心中有 ...
- spool命令、创建一个表,创建而且copy表,查看别的用户下的表,rowid行地址 索引的时候使用,表的增删改查,删除表,oracle的回收站
1.spool命令 spool "D:\test.txt" spool off SQL> host cls 2.创建一个表 SQL> --条件(1):有创建 ...
- ZOJ 3890 Wumpus
Wumpus Time Limit: 2 Seconds Memory Limit: 65536 KB One day Leon finds a very classic game call ...
- 看看android基础知识,谁帮我作答
无论怎么着,了解一点android的基本知识还是有必要的,就当开阔一些自己的眼界吧. .. . android的四大功能组件是_activity_,_service_,_BroadcastReceiv ...
- JavaScript 定义类的最佳写法——完整支持面向对象(封装、继承、多态),兼容所有浏览器,支持用JSDuck生成文档
作者: zyl910 [TOC] 一.缘由 由于在ES6之前,JavaScript中没有定义类(class)语法.导致大家用各种五花八门的办法来定义类,代码风格不统一.而且对于模拟面向对象的三大支柱& ...
- 使用puppet
首先配置一个默认文件 只是首次创建的时候才需要重启,后期不需要重启! [root@master manifests]# vim /etc/puppet/manifests/site.pp node d ...
- C#中MessageBox用法大全(转)
我们在程序中经常会用到MessageBox. MessageBox.Show()共有21中重载方法.现将其常见用法总结如下: 1.MessageBox.Show("Hello~~~~&quo ...
- bzoj 2750: [HAOI2012]Road
Description C国有n座城市,城市之间通过m条单向道路连接.一条路径被称为最短路,当且仅当不存在从它的起点到终点的另外一条路径总长度比它小.两条最短路不同,当且仅当它们包含的道路序列不同.我 ...