[iT铁人赛Day23]练习题(2)

嗨,大家好,由於本人昨天去打了疫苗,然後晚上9点开始被副作用折腾
以至於过了12点不能马上发文
然後今天要发文的时候,铁人赛的网页还一度打不开
导致我现在才可以来发今天的文章
那就让我们进入正题吧
上次讲了12/22的第一题,今天来讲第二题练习题
题目大意是:给定一个字串,重新排列字串里字的顺序。
例题:
一个长度48的字串,分成8群,每一群长度为6,
"TOBENUMBERONEWEMEETAGAINANDAGAINUNDERBLUEICPCSKY"
重新排成:
"UNEBOTNOREBMEEMEWENIAGATAGADNAEDNUNIIEULBRYKSCPC"
然後题目要我们改变下列Simple
3 ABCEHSHSH
5 FAOETASINAHGRIONATWONOQAONARIO
0
程序码如下

import java.util.*;
import static java.lang.System.*;
public class main{
  public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    while(sc.hasNext())
    {
    	int a = sc.nextInt();
    	if(a == 0) continue;
    	String b = sc.next();
    	a = b.length()/a;
    	for(int i = 0 ; i < b.length() ; i+=a)
    	{
    		for(int j = 0 ; j < a ; j++)
    		{
    			System.out.print((char)b.charAt((i+a-1)-j));
    		}
    	}
    	System.out.println("");
    }
  }
};

前面说过的程序码,今天来复习一些些:
static: 静态的,表示在程序刚开始执行前,就需要把这个载入到记忆体。所以主程序必须是static,不然记忆体中没有你的程序码,将无法执行。
void: 这是回传值的型态,void表示没有回传东西。
String[] args: 程序进入点的 main 可以接受字串阵列当做参数,String[] 表示字串阵列,args是为这些字串阵列取的变数名称,当然也可以写 main(String[] xxx)。
然後再说说今天新的东西:
Scanner:取得使用者输入的数字或字串。System.in就是系统的输入。
hasNext:常用判断是否还有输入的数字或字串。
nextInt:只读取数字,剩下"\n"还没有读取。
int a 把a设定成整数数字,String b 把b设定成字串
a = b.length()/a 就是a = b的长度除以a
charAt:显示出()中对应的字元。而((i+a-1)-j)简单来说就是把字串从後向前显示出来。
程序码结果如下:
https://ithelp.ithome.com.tw/upload/images/20210923/201405678r0u2bB5z5.png


<<:  【Day9】:STM32记忆体架构

>>:  Day-09 版面配置Layout

day14: 模组化好的写法 -单一功能原则(2)

接续前一天的单一功能原则,我们重构了 fetchUser 变成一个 customer hook , ...

[Day 15] Drone - Runner in k8s 安装设定

在Kubernetes上跑Drone CI/CD 为何我要介绍大家怎麽在K8s上跑Drone呢?因为...

Components 与 Props(Day4)

当我们会写基本的 Hello World 之後,就可以开始考虑扩展跟重组我们要撰写的程序码了。我们会...

大共享时代系列_007_共享交通

驶向新方向~ 需要花钱买交通工具吗? 每个人对於交通工具的使用需求不同,对某些偶尔使用的人来说,有需...

VisualStudio 2019 Angular mat-table 笔记

恩..这边主要是自己的笔记 自己最近想弄一些作品 MVC是已经会的东西 於是想自学一下Angular...