まず、場所を指定して普通に切り出すだけならば
Java
1public class practice {
2 public static void main(String[] args) {
3
4 String str="abcdefg";
5
6 String str1 = str.substring(0,4);//開始位置と切り出す位置
7 String str2 = str.substring(4);
8
9 System.out.println("前半は" + str1 + "です");
10 System.out.println("後半は" + str2 + "です");
11 }
12}
13
という感じ
投稿者様の文章だと
Java
1public class Practice {
2 public static void main(String[] args) {
3
4 int len = args[0].length();
5//文字数の長さをとってくる
6
7 int num = len;
8//数値の長さと文字列の位置番号のズレがある
9 String str1 = args[0].substring(0, num);
10 String str2 = args[0].substring(num);
11
12 System.out.println("前半は" + str1 + "です");
13 System.out.println("後半は" + str2 + "です");
14 }
といった具合に
int num = len の部分の指定だと「0から文字列の長さ分まで」となってしまい
文字列の位置を指定する数値が0から始まるという手前、
切り出す位置が無いという状況になってしまうと思います
単純に半分に分割するだけならば
Java
1public class practice {
2 public static void main(String[] args) {
3
4 String str = "abcdefg";//文字列を取得
5 int len = str.length();//文字列の長さを取得する
6
7 int num = len / 2;
8//切り取る位置の指定
9//今回は実験的に割り算にしていますが別にlen-3とかでも動きます
10 String str1 = str.substring(0, num);
11 String str2 = str.substring(num);
12
13 System.out.println("前半は" + str1 + "です");
14 System.out.println("後半は" + str2 + "です");
15 }
16}
といった具合?なのかなと
どういった状況で使うのかがわからないですが、例えば
「ページ上で文字列を入力、指定した場所で分割する」
といった感じだと
post処理などで、受け取った値をそれぞれ代入してあげる形にすればできるのかな?
と思います
読みにくい文章で申し訳ないです...
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。