Java 基于字符串字符的菱形形状
我需要编写一个程序,读取字符串,然后根据字符串中的字符(来自用户输入)输出菱形。例如,如果用户输入示例,则应在菱形中打印以下内容: s SAS 萨马斯 桑普马斯 样本 样本量 样本 桑普马斯 萨马斯 SAS 我已经知道如何打印出输入的第一个字母,但不知道如何处理其他字母。(这是针对正三角形的,我假设倒三角形非常相似。)Java 基于字符串字符的菱形形状,java,string,Java,String,我需要编写一个程序,读取字符串,然后根据字符串中的字符(来自用户输入)输出菱形。例如,如果用户输入示例,则应在菱形中打印以下内容: s SAS 萨马斯 桑普马斯 样本 样本量 样本 桑普马斯 萨马斯 SAS 我已经知道如何打印出输入的第一个字母,但不知道如何处理其他字母。(这是针对正三角形的,我假设倒三角形非常相似。) import java.util.Scanner; 公共级打印钻石{ 公共静态void main(字符串[]args){ //TODO自动生成的方法存根 扫描仪输入=新扫描仪(
import java.util.Scanner;
公共级打印钻石{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
扫描仪输入=新扫描仪(System.in);
System.out.println(“请输入字符串”);
String str=input.nextLine();
int l=str.length()*2-1;
int m=str.length();
对于(inti=0;i,我建议使用Stringbuilder和助手方法添加保持菱形所需的空间
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Please enter a string");
String str = input.nextLine();
StringBuilder sb;
int i;
for(i=1; i<=str.length(); i++){
System.out.print(addSpace(str.length()-i) + str.substring(0,i));
if(i>1){
sb = new StringBuilder(str.substring(0,i-1));
sb = sb.reverse();
System.out.print(sb.toString())
}
System.out.println();
}
for(i=str.length()-1; i>0; i--){
System.out.print(addSpace(str.length()-i) + str.substring(0,i));
if(i>1){
sb = new StringBuilder(str.substring(0,i-1));
sb = sb.reverse();
System.out.print(sb.toString())
}
System.out.println();
}
}
public static String addSpace(int x){
String s = "";
for(int i=0; i<x; i++){
s += " ";
}
return s;
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“请输入字符串”);
String str=input.nextLine();
为某人做准备;
int i;
对于(i=1;i1){
sb=新的StringBuilder(str.substring(0,i-1));
sb=sb.reverse();
系统输出打印(sb.toString())
}
System.out.println();
}
对于(i=str.length()-1;i>0;i--){
System.out.print(addSpace(str.length()-i)+str.substring(0,i));
如果(i>1){
sb=新的StringBuilder(str.substring(0,i-1));
sb=sb.reverse();
系统输出打印(sb.toString())
}
System.out.println();
}
}
公共静态字符串addSpace(int x){
字符串s=“”;
对于(int i=0;i
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Please enter a string");
String str = input.nextLine();
StringBuilder sb;
int i;
for(i=1; i<=str.length(); i++){
System.out.print(addSpace(str.length()-i) + str.substring(0,i));
if(i>1){
sb = new StringBuilder(str.substring(0,i-1));
sb = sb.reverse();
System.out.print(sb.toString())
}
System.out.println();
}
for(i=str.length()-1; i>0; i--){
System.out.print(addSpace(str.length()-i) + str.substring(0,i));
if(i>1){
sb = new StringBuilder(str.substring(0,i-1));
sb = sb.reverse();
System.out.print(sb.toString())
}
System.out.println();
}
}
public static String addSpace(int x){
String s = "";
for(int i=0; i<x; i++){
s += " ";
}
return s;
}