You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java使用for循环调用getCharacter方法10次转换为字符串问题

问题修复说明

你现有代码的核心问题集中在stringOf10方法的逻辑、以及main方法的调用逻辑上,需要按以下步骤修改:

1. 调整getCharacter方法

把重复提示的输入规则移出方法内部,避免每次输入都重复提示:

public static char getCharacter(){
    Scanner input = new Scanner(System.in);
    System.out.print("请输入一个字符: ");
    char character = input.next().charAt(0);
    return character;
}

2. 重写stringOf10方法

修改返回值类型为String,内部初始化空字符串拼接10次输入的字符:

public static String stringOf10(){
    // 初始化空字符串用于存储最终拼接结果
    String result = "";
    // 仅打印一次总提示
    System.out.println("你将需要输入10个字符。");
    // 循环10次调用getCharacter
    for (int i = 0; i < 10; i++){
        char c = getCharacter();
        // 将字符转为字符串后拼接到结果中
        result = result + Character.toString(c);
    }
    // 输出拼接好的字符串
    System.out.println("10个字符拼接结果为:" + result);
    return result;
}

3. 调整main方法调用逻辑

删除原来错误的getCharacter前置调用,直接调用stringOf10即可:

public static void main(String[] args) {
    int count = countNumbers();
    countPlay(count);
    // 直接调用stringOf10获取拼接后的字符串
    String word = stringOf10();
}

完整可运行代码

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        int count = countNumbers();
        countPlay(count);
        String word = stringOf10();
    }
    public static double getRealNumber(){
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个带小数点的实数: ");
        double realNumber = sc.nextDouble();
        return realNumber;
    }
    public static int countNumbers(){
        int count = 0;
        do{
            if (getRealNumber() == -1.0)
                break;
            count++;
        } while(true);
        System.out.println("计数结果为: " + count);
        return count;
    }
    public static int countPlay(int count){
        int exponent = 4;
        double result = Math.pow(count, exponent);
        System.out.println(count + "^" + exponent + " 的结果为: " + result );
        return count;
    }
    public static char getCharacter(){
        Scanner input = new Scanner(System.in);
        System.out.print("请输入一个字符: ");
        char character = input.next().charAt(0);
        return character;
    }
    public static String stringOf10(){
        String result = "";
        System.out.println("你将需要输入10个字符。");
        for (int i = 0; i < 10; i++){
            char c = getCharacter();
            result = result + Character.toString(c);
        }
        System.out.println("10个字符拼接结果为:" + result);
        return result;
    }
}

内容的提问来源于stack exchange,提问作者Regis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:36:02