打印等腰三角形代码

public class ForForTest{
public static void main(String []args){
for(int x=0;x<5;x++){
for(int y=x+1;y<5;y++){
System.out.print(" ");
}
for(int z=0;z<x;z++){
System.out.print("* ");
}
System.out.println();
}
}
} 折半查找代码: //练习:给一个数值。要求插入给定数组中,而且保证插入后数组按一定的顺序排列
public class ArrayTest2{ //数组查找数值
public static void main(String []args){
int arr[] = {1,2,3,4,5,6,7,88,9,10};
int index = getIndex(arr,8);
System.out.println("keyword存在在数组中的第"+(index+1)+"位");
}
public static int halfSeach_2(int arr[],int key){ //另外一种 折半方法。 依照索引值进行比較
int max,min,mid;
min = 0;
max = arr.length - 1;
while(min<=max){ //条件为真的时候进行比較
mid = (max+min)/2 ; //位运算 相当于除2
if(key>arr[mid])
min = mid +1 ;
else if(key < arr[mid])
max = mid -1;
else
return mid;
}
return -1;
}
//得到 该数值插入到数组中的第几位
//思路:利用折半查找,假设找到数组中有相应的数,便将该数插入到该位置,若没有找到那么返回折半索引的最小位。
public static int getIndex(int arr[],int key){
int max,min,mid;
min = 0;
max = arr.length - 1;
mid = (max + min) / 2; while(key != arr[mid]){ //当 关健值 不等于 中间值时。进行折半查找。
if(key>arr[mid])
min = mid +1 ;
else
max = mid -1;
if(min > max)
return min;
mid = (max + min)/2;
}
return mid;
}
/*
折半查找: 前提是 数组是个有序的数列
1、首先定义数组最大索引和最小索引
2、算出中间索引值
3、将相应的中间索引值与关健值比較-----> if(key>arr[mid]) min = mid+1;else if(key<arr[mid]) max = mid-1;
*/
public static int halfSeach(int arr[] , int key){
int max,min,mid;
min = 0;
max = arr.length - 1;
mid = (max + min) / 2; while(key != arr[mid]){ //当 关健值 不等于 中间值时,进行折半查找。
if(key>arr[mid])
min = mid +1 ;
else
max = mid -1;
if(min > max)
return -1;
mid = (max + min)/2; //循环中一直进行折半。 }
return mid;
}
} 排序算法的代码,包含冒泡、选择、折半排序 import java.util.*;
public class ArrayTest{
public static void main(String []args){
int []arr = {23,3,1,53,43,13,10};
//排序前
printArray(arr);
//排序
//selectSort(arr);
bobleSort(arr); //Arrays.sort(arr); //java中已经封装好的排序算法
//排序后
printArray(arr);
}
//选择排序
public static void selectSort(int []arr){
for(int x=0;x<arr.length-1;x++){
for(int y=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
swap(arr,x,y);
}
}
}
}
//冒泡排序:每次比較相邻的元素,满足条件的换位。每一层循环之后,最大值回到元素的顶端。因此比較时内层循环数组值降低一位。
public static void bobleSort(int arr[]){
for(int x=0;x<arr.length-1;x++){
for(int y=0;y<arr.length-x-1;y++){ //减1 的原因是。防止数组越界。
if(arr[y]>arr[y+1]){
swap(arr,y,y+1);
}
}
}
}
//交换元素
public static void swap(int arr[],int a ,int b ){
int temp = arr[a];
arr[a] = arr[b];
arr[b] = 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.print(arr[i]+",");
}else{
System.out.print(arr[i]);
}
}
System.out.print("]");
System.out.println();
}
}

Java基础实例的更多相关文章

  1. JAVA基础实例(二)

    1.做一个饲养员给动物喂食物的样例体现JAVA中的面向对象思想,接口(抽象类)的用处 package com.softeem.demo; /** *@authorleno *动物的接口 */ inte ...

  2. 【Java 基础实例—Bank 项目1】

    (上图Wie任务要求的UML结构) Account.java 文件: package Banking_1; public class Account { private double balance; ...

  3. JAVA基础实例(三)--排序

    冒泡排序 是一种简单的排序算法.它反复地走訪过要排序的数列,一次比較两个元素.假设他们的顺序错误就把他们交换过来.走訪数列的工作是反复地进行直到没有再须要交换,也就是说该数列已经排序完毕. 这个算法的 ...

  4. JAVA基础实例(一)

    1写一个方法,用一个for循环打印九九乘法表 /** *一个for循环打印九九乘法表 */ public void nineNineMultiTable() { for (int i = 1,j = ...

  5. APP接口自动化测试JAVA+TestNG(二)之TestNG简介与基础实例

    前言 继上篇环境篇后,本篇主要对TestNG进行介绍,给出最最基础的两个实例,通过本文后,学会并掌握TestNG测试用例的编写与运行,以及生成美化后的报告.下一篇为HTTP接口实战(国家气象局接口自动 ...

  6. Java实例 Part1:Java基础输出语句

    ** Part1:Java基础输出语句 ** 第一部分最基础,就是标准的输出语句. ps:(目前还没熟悉这个编辑器,先尝试一下) Example01 : 输出"hello world&quo ...

  7. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  8. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  9. 【JAVA面试题系列一】面试题总汇--JAVA基础部分

    JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个". ...

随机推荐

  1. QT_3

    1.QT中命名的规范和常用的快捷键 1.1 命名规范: 类名:首字母大写    多个单词时单词与单词之间首 字母大写 函数名:变量名称   首字母小写    多个单词时,单词和单词之间首字母大写 1. ...

  2. scrapy example

    scrapy example scrapy with pycharm import win32api 出现ImportError: DLL load failed 错误的解决方法 pip instal ...

  3. 【MyBatis】MyBatis Tomcat JNDI原理及源码分析

    一. Tomcat JNDI JNDI(java nameing and drectory interface),是一组在Java应用中访问命名和服务的API,所谓命名服务,即将对象和名称联系起来,使 ...

  4. contextify::ContextifyScript::New(const v8::FunctionCallbackInfo<v8::Value>&):

    问题描述 在执行grunt 命令时候报错 contextify::ContextifyScript::New(const FunctionCallbackInfo<v8::Value> & ...

  5. 用Multisim实现彩灯循环控制器

    2019/06/06 !转载请注明出处 1.设计任务目的与要求 1.1 展示器件 10路彩灯分别用10个发光二极管L0.L1…..L9模拟,发光二极管L0.L1…..L9从左到右排列. 1.2 要求显 ...

  6. [LUOGU] P2886 [USACO07NOV]牛继电器Cow Relays

    https://www.luogu.org/problemnew/show/P2886 给定无向连通图,求经过k条边,s到t的最短路 Floyd形式的矩阵乘法,同样满足结合律,所以可以进行快速幂. 离 ...

  7. Spring Boot 返回Html界面

    @Controller public class HelloController { @RequestMapping("/") public String index(){ ret ...

  8. C#中对泛型List进行分组输出元素

    背景:在输出列表时,往往需要按照某一字段进行分组,比如在输出城市列表时,按照首字母进行分组,输出学生列表时,按照年级进行分组,然后再对分组的结果按照其他的字段进行排序. 如存在以下STU学生类,代码如 ...

  9. 动手实操(一):如何用七牛云 API 实现相片地图?

    实操玩家: 在苹果手机上,我们只要打开定位服务,拍照后便能在相簿中找到地图,地图上显示着在各地拍摄的相片.网站上这种显示方式也并不少见,例如 Flickr.即将关闭的 Panoramio 等. 作为地 ...

  10. SPOJ FAVDICE 数学期望

    题目大意: 一个有n面的色子抛掷多少次能使所有面都能被抛到过,求期望值 总面数为n,当已经抛到过 i 个不同面时,我们抛出下一个不同面的概率为 (n-i)/n,那么抛的次数为 n/(n-i) 将所有抛 ...