Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何确保字符串在java处理中不会相互重叠?_String_Random_Processing_Overlap_Overlapping - Fatal编程技术网

String 如何确保字符串在java处理中不会相互重叠?

String 如何确保字符串在java处理中不会相互重叠?,string,random,processing,overlap,overlapping,String,Random,Processing,Overlap,Overlapping,我遇到了一个问题,我需要使从外部文件中提取的单词“不”相互重叠。我有50多个单词,当你运行它时,它们有随机的文本大小和位置,但它们重叠 如何使它们“不”重叠?结果可能看起来像一个词云 如果你认为我的代码会有帮助的话,它们就是 String[]字; int指数=0; 无效设置() { 尺寸(500500); 背景(255); String[]line=loadStrings(“alice_just_text.txt”); 字符串entireplay=join(lines,“”;//按行拆分 wor

我遇到了一个问题,我需要使从外部文件中提取的单词“不”相互重叠。我有50多个单词,当你运行它时,它们有随机的文本大小和位置,但它们重叠

如何使它们“不”重叠?结果可能看起来像一个词云

如果你认为我的代码会有帮助的话,它们就是

String[]字;
int指数=0;
无效设置()
{
尺寸(500500);
背景(255);
String[]line=loadStrings(“alice_just_text.txt”);
字符串entireplay=join(lines,“”;//按行拆分
words=splitTokens(entireplay,,.?!:-;:()03”);//按单词拆分
对于(inti=0;i<50;i++){
浮动x=随机(宽度);
浮动y=随机(高度);
int index=int(随机(单词长度));
textSize(随机(60));//随机字体大小
填充(0);
文本对齐(中心);
文字(文字[索引]、x、y、宽度/2、高度/2);
println(单词[索引]);
索引++;
}
}

堆栈溢出实际上不是为一般的“我该怎么做”类型的问题而设计的。如果你发布一个更具体的“我尝试了X,期望是Y,但得到了Z”类型的问题,你会有更好的运气。但我会尽力在一般意义上提供帮助:

你需要一个接一个地完成这些任务

例如,您可以隔离问题,以确保矩形不重叠,您可以进一步分解这些矩形。有很多方法可以做到这一点:

您可以使用网格来布置矩形。计算出一行文字所占的方格数,然后在网格中找到一个适合该单词的位置。例如,您可以使用类似于布尔值的二维数组的东西

或者您可以生成一个随机位置,然后检查是否已经有一个矩形。如果是这样,选择一个新的随机位置,直到找到一个清晰的位置

在任何情况下,都可能需要使用(点矩形或矩形矩形)来确定矩形是否重叠


从小处做起。创建一个在屏幕上只显示两个矩形的小示例程序。刚开始硬编码他们的位置,但是如果他们相撞的话,要让他们变成红色。从那里一路爬上去。使之成为可以使用鼠标添加矩形,但仅允许用户在没有重叠的情况下添加矩形。然后添加随机位置选择。如果你在一个特定的步骤上被卡住了,那么发一个帖子,我们就从那里开始。祝你好运。

@KenWhite谢谢你!我还不知道如何编辑帖子,因为我是stockoverflow的新手。。。谢谢:)我现在将对其进行编辑并删除不必要的评论。您将在问题左下角的标签下方找到一个链接。:-)@哦,天哪!找到了!非常感谢!