网站项目策划书实例,做论坛网站用什么系统,南京明辉建设有限公司网站,做盗版视频网站违法吗Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC
#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧#xff0c;以及各种资源分…Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC
关于作者 专注于Android/Unity和各种游戏开发技巧以及各种资源分享网站、工具、素材、源码、游戏等 有什么需要欢迎底部卡片私我获取更多支持交流让学习不再孤单。 实践过程
三角螺旋阵
方阵的主对角线之上称为“上三角”。 请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是使用123….的自然数列从左上角开始按照顺时针方向螺旋填充。 例如当n3时输出 1 2 3 6 4 5 当n4时输出 1 2 3 4 9 10 5 8 6 7 当n5时输出 1 2 3 4 5 12 13 14 6 11 15 7 10 8 9 程序运行时从标准输入获得整数n3~20 程序输出方阵的上三角部分。 要求格式每个数据宽度为4右对齐。
import java.util.Scanner; public class 三角螺旋阵 { // 输出 public static void print(int[][] m){ for(int[] x:m){ for(int y:x){ System.out.printf(%4d,y); } System.out.println(); } } // 初始化 public static void init(int[][] m){ for(int i0;im.length;i){ m[i] new int[m.length-i]; } } // 螺旋填充数字 public static void f(int[][] m,int k,int num){ if(km.length/2) return ; // 第一行 for(int ik;im[k].length-k;i){ m[k][i] num; } // 最后一位 for(int ik1;im[k].length-k;i){ m[i][m[i].length-1-k] num; } // 左列 for(int im[k].length-2-k;ik;i--){ m[i][k] num; } f(m,k1,num); // 递归进行内圈填充 } public static void main(String[] args){ Scanner scan new Scanner(System.in); System.out.println(输入整数n3~20); int n scan.nextInt(); int[][] m new int[n][]; init(m); // 初始化 f(m,0,1); // 螺旋填充数字 print(m); // 输出 }
}
干支记年法
在我国古代和近代一直采用干支法纪年。它采用10天干和12地支配合一个循环周期为60年。 10天干是甲,乙,丙,丁,戊,己,庚,辛,壬,癸 12地支是子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥 如果某年是甲子下一年就是乙丑再下是丙寅…癸酉甲戌乙亥丙子… 总之天干、地支都是循环使用两两配对。 今年2012是壬辰年1911年辛亥革命 下面的代码根据公历年份输出相应的干支法纪年。已知最近的甲子年是1984年。 请分析代码逻辑并推测划线处的代码。
public class 干支记年法 { public static void f(int year){ char[] x {甲,乙,丙,丁,戊,己,庚,辛,壬,癸}; char[] y {子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥}; int n year - 1984; while(n0) { n 60; } System.out.printf(%d %s%s\n, year,x[n%10], y[n%12]); } public static void main(String[] args){ f(1911); f(1970); f(2012); }
}
运行结果:
1911 辛亥
1970 庚戌
2012 壬辰
异或加密法
在对文本进行简单加密的时候可以选择用一个n位的二进制数对原文进行异或运算。 解密的方法就是再执行一次同样的操作。 加密过程中n位二进制数会循环使用。并且其长度也可能不是8的整数倍。 下面的代码演示了如何实现该功能。
public class 异或加密法 { public static void print(char[] p){ for(char x:p){ System.out.printf(%s, x); } System.out.println(); } public static void f(char[] buf, char[] uckey, int n) { int i; for (i 0; i n; i) buf[i] (char) (buf[i] ^ uckey[i]); } public static void main(String[] args) { char p[] abcd中国人123.toCharArray(); // 待加密串 char[] key 11001100010001110.toCharArray(); // 以串的形式表达的密匙运算时要转换为按位存储的形式。 int np p.length; int nk key.length; char[] uckey new char[np]; // 密匙串需要按位的形式循环拼入 uckey中 int i; for (i 0; i np * 8; i) { if (key[i % nk] 1) uckey[i/8] | (char)0x80 (i%8); // 填空1 else uckey[i/8] ~(char)0x80 (i%8); // 填空2 } f(p, uckey, p.length); print(p); f(p, uckey, p.length); print(p); }
}
金字塔
下面代码的目标是输出一个大写字母组成的金字塔。 其中space表示金字塔底距离左边的空白长度x表示金字塔底的中心字母。 比如space0, x’C’则输出 A ABA ABCBA 再如space2,x’E’, 则输出 A ABA ABCBA ABCDCBA ABCDEDCBA
请分析该段代码的逻辑填写缺少的部分。
public class 金字塔 { public static void h(int space, char x){ int i; if(xA || xZ) return; h(space1,(char)(x-1)); // 填空 for(i0; ispace; i) System.out.printf( ); for(i0; ix-A; i) System.out.printf(%c,Ai); for(i0; ix-A; i) System.out.printf(%c,(char)(x-i)); // 填空 System.out.printf(\n); } public static void main(String[] args) { int space0; char x E; h(space,x); }
}
运行结果:A ABA ABCBA ABCDCBA
ABCDEDCBA
其他 作者小空和小芝中的小空 转载说明-务必注明来源https://zhima.blog.csdn.net/ 这位道友请留步☁️我观你气度不凡谈吐间隐隐有王者霸气日后定有一番大作为旁边有点赞收藏今日传你点了吧未来你成功☀️我分文不取若不成功⚡️也好回来找我。 温馨提示点击下方卡片获取更多意想不到的资源。