精华内容
下载资源
问答
  • 今天吾爱编程为大家介绍一下java的经典实例将一个数组逆序输出,相信很多学习java的小伙伴都会接触到,有需要的小伙伴可以参考一下:1、需求分析:用第一个与最后一个交换, 第二个与倒数第二个交换,第三个与倒数第...

    今天吾爱编程为大家介绍一下java的经典实例将一个数组逆序输出,相信很多学习java的小伙伴都会接触到,有需要的小伙伴可以参考一下:

    1、需求分析:

    用第一个与最后一个交换, 第二个与倒数第二个交换,第三个与倒数第三个交换,一直到中间的那个数为止

    2、程序代码:public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    int arr[] = new int[20];

    System.out.println("请输入多个正整数(输入-1表示结束):");

    int digit = 0, j;

    do {

    int num = sc.nextInt();

    if (num == -1) {

    break;

    }

    arr[digit++] = num;

    } while (arr[digit - 1] != -1);

    System.out.println("你输入的数组为:");

    for (j = 0; j 

    System.out.print(arr[j] + "   ");

    }

    System.out.println("\n数组逆序输出为:");

    for (j = digit - 1; j >= 0; j--) {

    System.out.print(arr[j] + "   ");

    }

    }

    以上就是吾爱编程为大家介绍的关于java的经典实例将一个数组逆序输出的方法,了解更多相关文章请关注吾爱编程网!

    展开全文
  • java基础--逆序输出数组元素

    千次阅读 2017-05-28 23:22:06
    数组第二个值和倒数第二个值交换 。。。 注意交换至数组长度1/2处完成全部交换 案例: package com.lcn.day05; public class ArrayDemo56 { /** *数组元素逆序输出 */ public static void main

    逆序输出数组元素

    分析:

    定义一个数组并进行静态初始化
    把数组第一个值和数组最后一个值交换
    把数组第二个值和倒数第二个值交换
    。。。
    注意交换至数组长度1/2处完成全部交换
    案例:
    package com.lcn.day05;
    
    
    public class ArrayDemo56 {
    
    
    	/**
    	 *数组元素逆序输出
    	 */
    	public static void main(String[] args) {
    		//定义一个数组
    		int[] array = new int[]{11,55,96,32,45,74,62};
    		//调用反转前
    		System.out.println("反转前");
    		printArray(array);
    		//调用反转后
    		System.out.println("反转后");
    		reverse(array);
    		printArray(array);
    		//方法2,调用反转后,注意相当于再次反转,返回原来的值
    		System.out.println("方法2反转后为最初的值");
    		reverse2(array);
    		printArray(array);
    
    
    	}
    	//反转前
    	public static void printArray (int[] array){
    		for(int i=0;i<array.length;i++){
    			System.out.print(array[i]+" ");
    		}
    		System.out.println();
    	}
         //定义一个方法求反转
    	/*两个明确:返回值类型void
    	        参数列表:int[] array*/
    	public static void reverse(int[] array){
    		for(int i=0;i<array.length/2;i++){
    			int temp = array[i];
    			array[i] = array[array.length-1-i];
    			array[array.length-1-i] = temp;
    		}
    	}
    	//方法2
    	public static void reverse2(int[] array){
    		for(int start=0,end = array.length-1;start<=end;start++,end--){
    			int temp = array[start];
    			array[start] = array[end];
    			array[end] = temp;
    		}
    	}
    }
    输出:
    反转前
    11 55 96 32 45 74 62 
    反转后
    62 74 45 32 96 55 11 
    方法2反转后为最初的值
    11 55 96 32 45 74 62 

    展开全文
  • 如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 分析问题 对于一个二叉树的后序遍历序列来说,最后一个数一定是根节点,然后前面的数中,从最开始到第一个大于根节点的数都是左子树...

    题目描述

    输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。

    分析问题

    对于一个二叉树的后序遍历序列来说,最后一个数一定是根节点,然后前面的数中,从最开始到第一个大于根节点的数都是左子树中的数,而后面到倒数第二个数应该都是大于根节点的,是右子树,如果后面的数中有小于根节点的,那么说明这个序列不是二叉搜索树的后序遍历序列

    import java.util.Arrays;
    public class Solution {
        public boolean VerifySquenceOfBST(int [] sequence) {
    			if(sequence==null||sequence.length<=0){
    				return false;
    			}
    			int len=sequence.length;
    			int root=sequence[len-1];
    			int i=0;
    			for(;i<len-1;i++){
    				if(root<=sequence[i])
    					break;
    			}
    			int j=i;
    			for(;j<len-1;j++){
    				if(root>sequence[j]){
    					return false;
    				}
    			}
    			boolean leftFlag=true;
    
    			if (i>0) {
    
    			leftFlag=VerifySquenceOfBST(Arrays.copyOfRange(sequence,0,i));
    
    			}
    
    			boolean rightFlag=true;
    
    			if (i<len-1) {
    
    			rightFlag=VerifySquenceOfBST(Arrays.copyOfRange(sequence,i,sequence.length-1));
    
    			}
    
    			return leftFlag&&rightFlag;
    	    }
    
    }


    展开全文
  • (2)判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相等,第二个数字和倒数第二个数字是相等的,依次类推,并逐个输出 (3)如:010 是对称的,3223 是对称的,123123 不是对称的 ...

    (1)定义数字字符串数组{“010”,“3223”,“666”,“7890987”,“123123”}
    (2)判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相等,第二个数字和倒数第二个数字是相等的,依次类推,并逐个输出 (3)如:010 是对称的,3223 是对称的,123123 不是对称的
    (4)最终打印该数组中对称字符串的个数 提示:循环获取字符串的每一个字符,依次比较第一个和最后一个,第二个和倒数第二个。。。

    代码实现:

    public class StringExcise2 {
    	public static void main(String[] args) {
    		String[] s= { "010", "3223", "666", "7890987", "123123" ,"0123563210"};
    		judge1(s);
    		judge2(s);
    		judge3(s);
    
    	}
    
    /* 	方法一:
    			 * 利用for循环,遍历数组的元素;
    			 * 再利用for循环,依次依次比较第一个和最后一个,第二个和倒数第二个··· 
     */
    	public static void judge1(String[] s) {	
    		for (int i = 0; i < s.length ; i++) //循环遍历数组元素
    			for (int j = 0; j < s[i].length(); j++) {		//循环遍历素组元素里的字符		
    				if (s[i].charAt(j) == s[i].charAt(s[i].length()-1 - j)) {
    					if(j == (s[i].length()-1)/2) { 	//如果j循环到(s[i].length()-1)/2说明它是对称的
    						System.out.print(s[i] + "是对称的,");
    						break;
    					}
    				}
    				else { 
    					System.out.print(s[i] + "不是对称的,");
    					break;
    				}
    			}	
    	}
    
    /*  方法二:
    			 * 建立一个空字符串;利用for循环,遍历数组的元素; 
    			 * 再利用for循环,让初始值为空的news等于倒序的数组元素
    			 * 利用for循环和equals()方法,判断是否对称
    */
    	public static void judge2(String[] s) {
    		System.out.println();
    		String news = "";
    		for(int i=0 ; i<s.length ; i++) {
    			for(int j=s[i].length()-1 ; j>=0 ; j--) {
    				news +=s[i].charAt(j); //让初始值为空的news等于倒序的数组元素
    			}
    			if(news.equals(s[i]))//判断两个字符串的内容是否相等
    				System.out.print(s[i] + "是对称的,");
    			else System.out.print(s[i] + "不是对称的,");
    			news = "";//判断对称后,让字符串news为空,令数组s的下一个元素s[i]=news
    		}
    		
    	}
    
    /*	方法三:
    		 	 * 利用StringBuilder/StringBuffer和for...each循环, 
    			 * 将数组中的元素一 一翻转, 
    			 * 再利用equals()方法比较
    */
    	public static void judge3(String[] s) {
    		System.out.println();
    		for(String str : s) {
    			StringBuilder sb = new StringBuilder(str);
    			if(sb.reverse().toString().equals(str))//为什么不是sb.reverse().equals(str)呢?
    																//	因为sb.reverse()返回的是StringBuilder类型,不能和String类型比较
    				System.out.print(str+ "是对称的,");
    			else
    				System.out.print(str + "不是对称的,");
    		}
    		
    	}
    
    }
    

    输出结果:在这里插入图片描述

    展开全文
  • 假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型。输入n(n<50)个学生的成绩信息,按照...输出格式:输出从高到低排序后的学生信息,包括:学号、姓名、平均...
  • ——输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针。 用集合类解决 如果单纯为了解题,可以考虑只用Java集合工具来解决,而不用链表 【法一】ArrayList //法一:可以用动态数组...
  • 2,如果长度大于1,然后就要用升序后的数组倒数第一位元素除倒数第二位的元素; 3,此时注意,判断倒数第二为的元素是否为0 ,如果是零的话,最后那个元素(数组最大的值)肯定是其他元素的二倍还要多; 4,如果倒数...
  • 输入一个链表,输出该链表中倒数第k个结点。 时间限制:1秒 空间限制:32768K 热度指数:408652 解答: /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; ...
  • #以类似java、C#数组的风格定义了一个list names = ['中国','广东','深圳']; print(names[2]);#下标从0开始,输出第三个元素: #list下标为负数,即从最后一个元素往前倒数,但是-5还是会越界异常的。例如: print...
  • 跟learnjiawa一起每天一道算法编程题,既...题目描述Java版剑指offer编程题第14题--链表中倒数第k个结点: 输入一个链表,输出该链表中倒数第k个结点。我的想法链表结构没有索引,不能像数组那样直接根据get(index)...
  • 输入一个链表,输出该链表中倒数第k个结点。 题目分析 方法一 首先计算链表长度,然后计算出倒数第k个节点在正数的情况下是第几个节点,循环遍历链表找到该节点即可。 在循环遍历的时候注意结束条件与数组不同,数到...
  • 《剑指Offer》Java刷题 NO.13 调整数组顺序使奇数位于偶数之前 传送门:《剑指Offer刷题总目录》 时间:2020-02-22 题目: 输入一个链表,输出该链表中倒数第k个结点。 思路: 设置两个指针,第一个先比第二个快k-1...
  • package Link;...//输入一个链表,输出该链表中倒数第k个结点 public class LinkList { private class Node{ private int data; private Node next; public int getData() { return data; } ...
  • 给定一个单词,如果该单词以er、ly或者ing后缀结尾, 则删除该后缀(题目保证删除后缀后的单词长度不为 00),...2.然后将数组倒数第一个、第二个、第三个元素分别重新赋值为‘ ’或者‘\0’ 3.重新输出数组即可 整
  • java简单回文数

    2020-09-05 14:38:54
    2. 判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相等,第二个数字和倒数第二个数字是相等的,依次类推)的,并逐个输出 。如:010 是对称的,3223 是对称的,123123 不是对称的 4. 最终...
  • 输入一个链表,输出该链表中倒数第k个结点。 原题传送门:link. 2. 提取关键词 链表,倒数第k个 3. 思路 链表长度无法直接输出,可遍历得出 本题使用快慢指针,使快指针与慢指针间始终相差k个节点 当快指针到达尾部...
  • 最长回文子串Java

    2020-11-04 10:47:15
    题目:给出一个字符串,找出其中最长回文子串。...用一个map保存结果,key为长度,value为该长度的回文串数组,最后输出map中key长度最长的回文串即可。 Java代码: public static void main(String[] args) {
  • Java基础练习题

    2019-08-04 12:03:13
    第二个数字和倒数第二个数字是相等的,依次类推)的,并逐个输出; (3)如:010 是对称的,3223 是对称的,123123 不是对称的; (4)最终打印该数组中对称字符串的个数。 注:判断对称可用revers...
  • 打印十字图JAVA

    2019-01-02 15:52:47
    借鉴思路:定义一个字符型的二维数组,然后从外向内赋值,一层一层的打印出来,使用(应该算是)递归,一层一层赋值。 1.先赋值第一行和最后一行。 2.赋值第二行,倒数第二行。 3.赋值第三行,倒数第三行。 4....
  • 练习:编写一个抽取学员回答问题的程序,要求倒数三秒后输出被抽中的学员姓名 i. 采用数组存储6个学员姓名 ii. 生成0-5之间的随机数,确定被抽中的学员 iii. 在屏幕每隔一秒,依次输出3,2,1,然后输出学员姓名 我...
  • 题目 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的...字符串反转,便是将第一个跟最后一个字符交换位置,第二个跟倒数第二个交换,依次类推…
  • * 练习:编写一个抽取学员回答问题的程序,要求倒数三秒后输出被抽中的学员姓名 i.采用数组存储6个学员姓名 ii.生成0-5之间的随机数,确定被抽中的学员 iii.在屏幕每隔一秒,依次输出3,2,1,然后输出学员姓名 ...
  • 题目描述:输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。  这道题友好就友好在给的是一个递增数组。对于递增数组,我们...
  • 解题思路: (1)以O(1)的额外空间解决问题...索引为2 的元素需要与倒数第二个元素交换位置。。。。。。,因此可以借助遍历一半的方法将元素倒序输出 class Solution { public void reverseString(char[] s) { ...
  • 4. 求数组中最大的数和最小的数,并输出 5. 当前月的下一个月是上一月是 6. 三阶幻方 7. 判断回文 8. 判断两个字符串中相同位置上相等的字符 两个字符串中相同的字符,不重复 9. 判断数组是否相等 10. 求三角形的...
  • 达内 coreJava 习题答案

    2010-02-10 19:49:01
    import java.util.Scanner; class Bissextile{ public static void main(String[] arge){ System.out.print("请输入年份"); int year; //定义输入的年份名字为“year” Scanner scanner = new Scanner(System.in...
  • 输出1-1000的回文数 2.分析 回文数是指一个数的第一个数和最后一个数相等·,第二个数和倒数第二个数相等,依次类推…….. 将整数(n)转换为字符串(str)的方法:(1)加空格;String str=”“+n; (2)用方法;...
  • 13 调整数组顺序使奇数位于偶数前面 14 链表中倒数第k个节点 15 反转链表 11 二进制中1的个数 题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 知识点: “进制转化” “补码反码原码...
  • 文章目录二进制中1的个数数值的整数次方调整数组顺序使奇数位于偶数前面链表中倒数第k个结点反转链表合并两个排序的链表树的子结构二叉树的镜像顺时针打印矩阵包含min函数的栈 二进制中1的个数 题目描述 输入一个...

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

java数组倒数输出

java 订阅