黑马程序员技术交流社区
标题:
字符串小程序
[打印本页]
作者:
东大小宇哥
时间:
2015-5-18 20:56
标题:
字符串小程序
假定屏幕的像素宽度为 screenWidth,写一个函数计算一个字符串需要分成几行显示。
要求:
1)、每行应尽可能多地显示字符,但不能有字符部分或完全显示在屏幕外。超过部分的字符换下一行
显示。
2)、每个字符的像素宽度不一样,每个字符的像素宽度不一样。用 int GetCharWidth(char c)获得每
个字符的像素宽度。
作者:
小悟空et
时间:
2015-5-18 22:04
不知道GetCharWidth的用法,或者是这个方法要自己定义吧,反正我觉得我的思路就是下面的了。
我把我的GetCharWidth换成其他返回类型是int的方法,是可以得出结果的。
class CharWidth2
{
public static void main(String[] args)
{
int num = count("ljakgljalkjtklasngmcn.mglkajkljaklsjkjtsaogojsadlkjglkasjfklasjdlkfjal;dksjflkajglkajdklgajdlkgjlka;jglk;adjgklajdklgjklasdjglkajdlgkjalkgjal;kgjkaljglkajgklajklgjaklgjaljglkajgklajgla");
System.out.println(num);
}
public static int count(String s)
{
char[] arr = s.toCharArray();
int count = 0;
int sum = 0;
final int screenWidth = 1366;
for(int x = 0;x<arr.length;x++)
{
sum = sum + GetCharWidth(arr[x]);
if(sum >= screenWidth)
{
sum = 0;
count++;
x--;
}
}
return count;
}
}
复制代码
作者:
开弓没有回头箭
时间:
2015-5-18 22:46
int Fun(String s,final int screenWidth)
{
int lineCount = 0;//记录行数
int pixelCount = 0;//记录字符的像素宽度和
for(int i=0;i<s.length();i++)
{ //计算字符的像素宽度和
pixelCount = pixelCount + GetCharWidth(s.charAt(i));
if(pixelCount > screenWidth)//像素和大于屏幕宽度,则换行
{
pixelCount = 0;//像素和清0
lineCount++;//行数加1
i--;//超出屏幕宽度,该字符换到下一行
}
}
return lineCount;
}
复制代码
作者:
zy18692243338
时间:
2015-5-18 22:58
6666666666666666666666666666
作者:
守株人
时间:
2015-5-18 23:43
66666666666啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2