Java教程

Java数组习题(明文,杨辉三角......)

本文主要是介绍Java数组习题(明文,杨辉三角......),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

数组遍历三种方法

package com.biem.dc;public class Test1 {public static void main(String[] args) {/**
		 * 数组 数组的初始化方式
		 * 动态初始化,初始化时只指定数组长度,由系统为数组分配初始值
		 * 静态初始化,初始化时制定每个元素的初始值,由系统决定数组长度 
		 *///数组类型自定义即可//数组的定义方式: 第一种:数据类型[] 变量名 = new 数据类型[长度];//第一种方式为 动态初始化,初始值为都为 0 int[] a = new int[3];//第一种方法//普通 for 循环输出 for(int i =0;i<a.length;i++) {	System.out.println(a[i]);}// 遍历输出for (int a1 : a) {	System.out.println(a1);} 
		//第二种:数据类型[] 变量名 = {元素,元素,元素};//静态初始化int[] b = {1,2,3,4};//第二种方法//普通 for 循环输出 for(int i1 =0;i1<b.length;i1++) {
					System.out.println(b[i1]);}// 遍历输出for (int b1 : b) {
					System.out.println(b1);}
			
		 
		//第三种:数据类型[] 变量名 = new 数据类型[]{元素,元素...};//其实就是 " 第二种的完成格式化  "	int[] c = new int[] {1,2,3,4};//第三种方法	//普通 for 循环输出 for(int i2 =0;i2<c.length;i2++) {
					System.out.println(c[i2]);}// 遍历输出for (int c1 : c) {
					System.out.println(c1);}}}//结果为下:0000001234123412341234

明文密文题

:编写一个加密程序,要求从键盘输入一个字符串,然后输出加密后的字符串。加密规则是对每个字符串转换为下一个字母表示,原来是a转换为b。原来是B转换为C。小写的转换为小写的a,大写的Z转换为大写的A。

package com.biem.dc;import java.util.Scanner;public class Text2 {public static void main(String[] args) {//定义输入Scanner sc = new Scanner(System.in);//输出语句System.out.println("输入初始明文:");//将输入的内容赋值给 s/*.next()方法
        next()一定要读取到有效字符后才可以结束输入,
        对输入非有效字符,next()方法会自动将其去掉,只有在输入有效字符之后,
        next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。
        比如,在控制台输入“  dc  dc ”时,一次next()读入进来的仅仅
        是"gjm"。 它不能得到带空格的字符串的!
        *//*.nextLine()方法
        nextLine()方法的结束符只是Enter键,
        即nextLine()方法返回的是Enter键之前的所有字符。
        比如,在控制台输入“  gjm  gjm ”时,一次
        nextLine()读入进来的结果是"  gjm  gjm "。
        它是可以得到带空格的字符串的!
        */String s = sc.nextLine();//数组接受//.toCharArray();方法是将字符串转换为字符数组。/*
        注意:这里为什么要把字符串转化成数组,因为我们要使用数组进行判断,
        然后进行转化,最后得到结果
        */char[] ch = s.toCharArray();
        System.out.println("加密后的字符串为:");//循环输出for (int i = 0; i < ch.length; i++) {//进行判断//第一步判断的是: A--Z 之间的字母,如果他在 A--Z 之间//就输出 他所在位置 +1 //例如 C 输出的就是 Dif (ch[i] >= 'A' && ch[i] <= 'Y') {	
                ch[i] = (char) (ch[i] + 1);System.out.print(ch[i]); 
           //第二步判断的是:如果是 Z 的话 就输出 A} else if (ch[i] == 'Z') {System.out.print('A');}//第三部判断的是: a -- z 之间的字母 和上面思路一样else if (ch[i] >= 'a' && ch[i] <= 'y') {ch[i] = (char) (ch[i] + 1);System.out.print(ch[i]);} else {System.out.print('a');}
 }}}结果为:

	输入初始明文:
	ABCabc
	加密后的字符串为:
	BCDbcd

杨辉三角

: 这里是使用 二维数组

package com.biem.dc;public class Text3 {public static void main(String[] args) {//定义一个二维数组//数组长度都为 10int[][] arr = new  int[10][10];//这里使用双重 for 循环//外重代表 行//内重代表 列for(int i = 0;i<arr.length;i++) {for(int j = 0; j <=i; j++ ) {//判断如果它等于0或者相等就都输出 1if(j==0||j==i) {
					arr[i][j]=1;//否则		}else {arr[i][j]=arr[i-1][j-1]+arr[i-1][j];}
				System.out.print(arr[i][j]+"\t");}
				
			System.out.println();}}}结果是:11112113311464115101051161520156117213535217118285670562881193684126126843691

定义一个数组int[] nums={8,7,3,9,5,4,1}

输出数组中的最大值和最大值所在的下标

public class test01 {public static void main(String[] args) {//定义一个数组int[] a = {8,7,3,9,5,4,1};//定义最大值和最小值并接受int max = max(a)+1;int min = min(a)+1;//输出
	System.out.println("最大值位置"+max);
	System.out.println("最小值位置"+min);}//求max方法public static int max(int[] a) { //定义一个最大值变量int max = 0;//让定义的变量去和数组里的数都进行循环比较//如果比他大,则将子赋给它,然后再去比较//直到比较出最大值for (int i = 1; i < a.length; i++) {if (a[max]<a[i]) {
				max=i;}}return max;}//求min方法public static int min(int[] a) {//让定义的变量去和数组里的数都进行循环比较//如果比他小,则将子赋给它,然后再去比较//直到比较出最大值int min = 0;for (int i = 0; i < a.length; i++) {if (a[min]>a[i]) {
				min=i;}}return min;}}
这篇关于Java数组习题(明文,杨辉三角......)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!