输出定长的string

要求编程,
1. 输出信息为每个学生占一行,包含其所属院校的信息。
2. 每个信息项占用固定的宽度(注意每个汉字的输出宽度为2),其宽度规格明细为:
  院校名称:30  院校电话:16  院校编号:6  归属地:  8
  学生成绩:4  参赛组别:10  学生电话:16  学生姓名:12
3. 每项信息在其宽度区间内左对齐,不足宽度用西文空格填充(注意不是用tab制表符)。
4. 归属地是如下字符串的,输出用等号后的汉字串代替:
  xijing=西京,  lushan=鲁山,  pingyang=平阳,  danling=丹凌,  xinyuan=新元
package work_11;

public class num_lx2 {
	String bianhao,Sname,Scphone,place,Stphone,sname,zubie,grade;
	num_lx2(String a,String b,String c,String d,String e,String f,String g,String h)
	{
		bianhao=a;  Sname=b;Scphone=c;  place=d;  sname=e;  zubie=f;  
		grade=g;  Stphone=h;
	}
	public void shuchu()
	{
		StringBuffer sb1=new StringBuffer(bianhao);
		char c=' ';
		for(int i=0;i<6-bianhao.length();i++)
		{
			sb1.append(c);
		}
		StringBuffer sb2=new StringBuffer(Sname);
		for(int i=0;i<30-Sname.length();i++)
		{
			sb2.append(c);
		}
		StringBuffer sb3=new StringBuffer(Scphone);
		for(int i=0;i<16-Scphone.length();i++)
		{
			sb3.append(" ");
		}
		
		if(place=="xijing")
			place="西京";
		else if(place=="lushan")
			place="鲁山";
		else if(place=="pingyang")
			place="平阳";
		else if(place=="danling")
			place="丹凌";
		else if(place=="xinyuan")
		{
			place="新元";
		}
		StringBuffer sb4=new StringBuffer(place);//此处的顺序要注意
		for(int i=0;i<8-place.length();i++)
		{
			sb4.append(" ");
		}
		StringBuffer sb5=new StringBuffer(sname);

		for(int i=0;i<12-sname.length();i++)
		{
			sb5.append(" ");
		}
		StringBuffer sb6=new StringBuffer(zubie);
		for(int i=0;i<10-zubie.length();i++)
		{
			sb6.append(c);
		}
		StringBuffer sb7=new StringBuffer(grade);
		for(int i=0;i<4-grade.length();i++)
		{
			sb7.append(c);
		}
		StringBuffer sb8=new StringBuffer(Stphone);
		for(int i=0;i<16-Stphone.length();i++)
		{
			sb8.append(" ");
		}
		//num_lx2 lala=new num_lx2(bianhao,Sname,Scphone,place,sname,zubie,grade,Stphone);
		System.out.println(sb1.length());
		System.out.println(sb1.toString()+sb2+sb3+sb4+sb5+sb6+sb7+sb8);
		//return lala;
	}
	/*public void shuchuaa()
	{
		System.out.println(bianhao+Sname+Scphone+place+sname+zubie+grade+Stphone);
	}*/

	public static void main(String[] args) {
		num_lx2 haha=new num_lx2("555","山东农业大学","0539_99999999","xinyuan","xpp","37","547","2999999");
		haha.shuchu();
	//	haha.shuchuaa();
		

	}

}


### 创建固定长字符串的方法 #### C++ 对于C++而言,在创建具有特定长度的字符串时,可以直接初始化`std::string`对象并设定其大小。当涉及到包含多字节字符(如中文)的情况时,为了准确控制显示宽度而非仅仅是字符数量,需采用更复杂的方式处理[^2]。 ```cpp #include <iostream> #include <string> int main(){ int length = 10; std::string str(length, 'A'); // 使用'A'填充至指定长度 std::cout << "Fixed Length String: " << str << "\n"; } ``` 若要确保即使存在非ASCII字符也能正确达到视觉上的固定长度,则应考虑使用专门库来解析这些字符的实际屏幕占用空间。 #### Python Python提供了灵活的方式来构建定长字符串。可以通过设置初始值以及利用内置函数完成此目标。如果原始数据较短,还可以通过自定义逻辑补充额外的内容直至满足需求[^3]。 ```python def make_fixed_length(s, target_len): current_len = len(s) if current_len >= target_len: result = s[:target_len] else: padding_needed = target_len - current_len random_padding = ''.join(['*' for _ in range(padding_needed)]) result = f"{s}{random_padding}" return result test_string = "hello" desired_length = 8 output = make_fixed_length(test_string, desired_length) print(f"Original string '{test_string}' adjusted to fixed-length form:'{output}'") ``` 上述例子展示了如何基于给定参数调整输入字符串到期望尺寸的过程;其中包含了超长裁剪和不足填补两种情形下的具体实现方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值