第二周 奇数阶魔方阵

一、上节回顾

1.数组的基本操作

数组:若干个相同类型变量的集合。

声明:数据类型 数组名称[]; (在栈内存分配空间,存储的是数组的引用地址、数组首元素在堆内存

中的地址)

初始化:为每一个数组元素分配内存空间(堆内存)

访问:通过下标,下标从0开始

属性length

数组的长度,一维数组其长度指的是包含元素个数;二维数组是包含的一维数组的个数。

2.面向过程程序设计

自顶向下、逐步细化。按照程序执行的流程(解决问题的过程)将程序分解为若干个相对独立简单的子

问题。

二、字符串的操作

通过String类。该类位于java.lang

字符串是常量,它们的值不能被创建后改变。支持可变字符串字符串缓冲区。因为字符串对象是不可改

变的,所以它们可以被共享。

1.字符串连接运算符(+)

将两个字符串合并为一个字符串,,将其他类型的数据转换为字符串,并连接形成新的字符串

int a[]; float b[]; int c[][]; int a[]=new int[3]; a[2]=6; 数组名.length int a[]=new int[5]; System.out.println(a.length);//输出5 String s="Hello"; String s1=new String("Hello");

2.方法

String类的方法

length:返回字符串的长度。包含的字符数。

charAt(int n):返回第n个字符,其中的参数n类似数组中的下标值,n值从0开始

toLowerCase():将字符串中的字母全部变为小写字母

toUpperCase():变为大写字母

subString(int beginIndex):从指定位置beginIndex开始到最后一个字符结束,形成新字符串

subString(int beginIndex,int endIndex):指定开始和结束位置,从开始到结束位置中的字符串截

取出来,形成新的字符串。

replace(char oldChar,char newChar):替换,将oldChar替换为newChar

StringBuffer类的方法

deleteCharAt(int index):删除指定位置的字符

insert(int offset,String subStr):在指定位置插入字符串

append(String strOjb):在字符串的末尾添加一个字符串

delete(int beginIndex,int endIndex):从开始到结束,删除字符

3.使用某些系统定义的好的功能时(自定义)

创建类的对象

通过“对象.方法名(参数)”调用相应的方法实现相应的功能。

三、本周练习

1.输入一句英文,统计其中某个字符出现的频率(次数)。

2.输入一句英文,对其进行加密。加密方法自定义。

截取到每一个字符。

3.打印输出蛇形方阵。

二维数组,

String s="Hello";

String s1="World";

String s3=s+s1;//s3的值是HelloWorld

int k=0;

String r=s.substring(k++,k);

if(r.equals("H")){

System.out.println("111");

}else{

System.out.println("2222"); }

import java.util.Scanner;

public class Demo3 {

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

System.out.println("请输入几乘几魔方阵");

int n=sc.nextInt();

int k=1;

int a[][]=new int[n][n];

for(int i=0;i<n;i++){

for(int j=0;j<n;j++){

if(i%2==0){

a[i][j]=k++;

}else{

a[i][n-1-j]=k++;

}

}

}

for(int i=0;i<n;i++){

for(int j=0;j<n;j++){

System.out.print(a[i][j]+"\t");

}System.out.println();

}

}

}

4.随机生成一个迷宫

随机数的生成、保障生成的随机数必须是0 1,非0 1

5.输出任意奇数阶魔方阵(3、5、7、9)

第一个数填充在第一行中间列,然后下一个数向其右上角填充,如果超出行,则转到最后一行,如果超

出了列,则转到第一列,如果填充的数是该魔方阵的整倍(3阶,3 6),则向下填充。

System.out.println("请输入几乘几魔方阵");

int n=sc.nextInt();

int k=1;

int a[][]=new int[n][n];

for(int i=0;i<n;i++){

for(int j=0;j<n;j++){

if(i%2==0){ a[i][j]=k++;

}else{

a[i][n-1-j]=k++; }

}

}

for(int i=0;i<n;i++){

for(int j=0;j<n;j++){

System.out.print(a[i][j]+"\t");

}

System.out.println();

}

}

}

Second_week_mofangzhen的更多相关文章

随机推荐

  1. 乌云1000个PHP代码审计案例(1)

    前两天发现的宝藏网站:https://php.mengsec.com/ 在github上面找到了源代码:https://github.com/Xyntax/1000php,可以在自己的服务器上面搭建 ...

  2. 使用XPath爬取西刺代理

    因为在Scrapy的使用过程中,提取页面信息使用XPath比较方便,遂成此文. 在b站上看了介绍XPath的:https://www.bilibili.com/video/av30320885?fro ...

  3. 算法数据结构——数的深搜和广搜(dfs和bfs)

    leetcode104 二叉树的最大深度 https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/ 深度搜索分两种:递归(使用栈) ...

  4. 【题解】The Great Divide [Uva10256]

    [题解]The Great Divide [Uva10256] 传送门:\(\text{The Great Divide [Uva10256]}\) [题目描述] 输入多组数据,每组数据给定 \(n\ ...

  5. 【Home Page】本博客使用指南

    [关于] 坐标:ZJ.HZ.XJ. 高一现役 OIer,经常被吊打. Luogu:_Wallace_ [近期] 浙大 ICPC-ACM 2020 部分题解: 关键字「ZJU-ICPC Summer T ...

  6. 「IOI2017」接线 的另类做法

    看到这题,我的第一反应是:这就是一个费用流模型?用模拟费用流的方法? 这应该是可以的,但是我忘记了怎么模拟费用流了IOI不可能考模拟费用流.于是我就想了另外一个方法. 首先我们考虑模拟费用流的模型如下 ...

  7. svn提交时提示 Aborting commit: remains in conflict 解决办法,更改svn服务地址

    TortoiseSVN客户端如何更改新的URL 问题: 我们的服务器换了新的URL地址,这时候我们本地的SVN访问帐号和地址就要重新定义了. 解决步骤: 1:重新定义SVN的URL,右键(Tortoi ...

  8. SQL学习(三) 复杂查询

    我们本节考察的数据库如下所示: 3.1 创建出满足下述三个条件的视图(视图名称为 ViewPractice5_1).使用 product(商品)表作为参照表,假设表中包含初始状态的 8 行数据. 条件 ...

  9. MySQL高可用(一)主备同步:MySQL是如何保证主备一致的

    主备同步,也叫主从复制,是MySQL提供的一种高可用的解决方案,保证主备数据一致性的解决方案. 在生产环境中,会有很多不可控因素,例如数据库服务挂了.为了保证应用的高可用,数据库也必须要是高可用的. ...

  10. 10 个 GitHub 上超火的 CSS 奇技淫巧项目,找到写 CSS 的灵感!

    大家好,我是你们的 超级猫,一个不喜欢吃鱼.又不喜欢喵 的超级猫 ~ 如果 CSS 是女孩子,肯定如上图那样吧