我想将复数分配给二进制值,我正在使用复杂的类,容易获得;但是当我将复数附加到字符串缓冲区,返回一个字符串时,一个复数就会占用多个条目。如何将1个数字放入1个条目并在之后阅读?结束字符串数据,如“2.0 + 2.0i2.0-2.0i2.0 + 2.0i2.0-2.0i-2.0 + 2.0i2.0 + 2.0i ....”。现在0处的字符是'2',1处的字符是'。'等等..我需要0的字符为2.0 + 2.0i。然后我应该能够分离每个条目的实部和虚部。
StringBuilder symbs = new StringBuilder();
Complex s1 = new Complex(-2,-2);
Complex s2 = new Complex(+2,-2);
Complex s3 = new Complex(+2,+2);
Complex s4 = new Complex(-2,+2);
/////////////////////Symbols to vector ////////////////////
for(int i=0; i< plo.length()-1; i+=2)
{
if(plo.charAt(i)=='1' && plo.charAt(i+1)=='0')
{
symbs.append(s1);
}
else if(plo.charAt(i)=='0' && plo.charAt(i+1)=='1')
{
symbs.append(s2);
}
else if(plo.charAt(i)=='0' || plo.charAt(i+1)=='0')
{
symbs.append(s3);
}
else if(plo.charAt(i)=='1' && plo.charAt(i+1)=='1')
{
symbs.append(s4);
}
}
printComplex(symbs.toString());
答案 0 :(得分:1)
&#34;我需要0的字符为2.0 + 2.0i。&#34;这是不可能的,因为char是一个角色。
你可以在每个复合体之后附加分号,然后为它们拆分
答案 1 :(得分:-1)
使用与此TaskSeries s1 = new TaskSeries("Z1");
Task task = new Task("M1", new SimpleTimePeriod(0, 55));
task.addSubtask(new Task("M1a", new SimpleTimePeriod(0, 5)));
task.addSubtask(new Task("M1b", new SimpleTimePeriod(15, 25)));
s1.add(task);
TaskSeries s2 = new TaskSeries("Z2");
s2.add(new Task("M1", new SimpleTimePeriod(5, 15)));
TaskSeries s3 = new TaskSeries("Z3");
s3.add(new Task("M1", new SimpleTimePeriod(25, 35)));
TaskSeriesCollection collection = new TaskSeriesCollection();
collection.add(s1);
collection.add(s2);
collection.add(s3);
JFreeChart chart = ChartFactory.createGanttChart(
"Gantt", "Machines",
"Time", collection, true, false, false);
CategoryPlot plot = chart.getCategoryPlot();
CategoryItemRenderer renderer = plot.getRenderer();
renderer.setBaseItemLabelGenerator(new CategoryItemLabelGenerator() {
@Override
public String generateRowLabel(CategoryDataset arg0,
int arg1) {
return arg0.getRowKey(arg1).toString();
}
@Override
public String generateLabel(CategoryDataset arg0, int arg1,
int arg2) {
return arg0.getRowKey(arg1).toString();
}
@Override
public String generateColumnLabel(CategoryDataset arg0,
int arg1) {
return arg0.getColumnKey(arg1).toString();//arg0.getRowKey(arg1).toString();
}
});
renderer.setBaseItemLabelsVisible(true);
renderer.setBaseItemLabelPaint(Color.BLACK);
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(
ItemLabelAnchor.INSIDE6, TextAnchor.BOTTOM_CENTER));
DateAxis axis = (DateAxis) plot.getRangeAxis();
axis.setDateFormatOverride(new SimpleDateFormat("S"));
axis.setMaximumDate(new Date(100));
ChartFrame frame = new ChartFrame("Gantt", chart);
frame.setPreferredSize(new java.awt.Dimension(500, 270));
frame.setVisible(true);
frame.setSize(750, 350);
类似的正则表达式模式匹配
将字符串传递给[[0-9].0+[0-9].0i]+
编译器,并检查给定字符串上是否存在可用模式。在此基础上,用程序逻辑提取值,得到实部和虚部。
正则表达式字符串
的说明真实部分
Matcher
- &gt;它会检查0到9之间的值,然后是[0-9]
,然后是.
虚构部分
0
- &gt;它会检查0到9之间的值,然后是[0-9]
,然后是.
,然后是0