public void makePost(String e)
{
String[] arr = e.split("");
for(int i = 0; i < arr.length; i++)
{
if(arr[i].equals(" "))
{
continue;
}
Operator o = OperatorList.getOpMap().get(arr[i]);
if(o == null){
postfix += " " + arr[i];
continue;
}
if(ops.isEmpty()){
ops.push(o);
continue;
}
else
{
while((!ops.isEmpty() && (ops.peek().getPresedence() <= o.getPresedence()))){
postfix += " " + ops.pop();
}
ops.push(o);
continue;
}
}
while(!ops.isEmpty())
{
postfix += " " + ops.pop();
}
postfix = postfix.trim();
}
public void makePost(String e)
{
String[] arr = e.split("");
for(int i = 0; i < arr.length; i++){
if(arr[i].equals(" ")){
continue;
}
Operator o = OperatorList.getOpMap().get(arr[i]);
if(o == null){
postfix += " " + arr[i];
continue;
}
if(ops.isEmpty()){
ops.push(o);
continue;
}
else
{
if(o.isParan())
{
Paran p = new Paran(o.toString());
if(p.isOpen())
{
ops.push(o);
System.out.println(ops);
continue;
}else{
while(!ops.isEmpty()){
if(ops.peek().isParan()){
Paran n = new Paran(o.toString());
if(n.isOpen()){
ops.pop();
break;
}
}
postfix += " " + ops.pop();
}
continue;
}
}
while((!ops.isEmpty() && (ops.peek().getPresedence() <= o.getPresedence()))){
postfix += " " + ops.pop();
}
ops.push(o);
continue;
}
}
while(!ops.isEmpty())
{
postfix += " " + ops.pop();
}
postfix = postfix.trim();
}
if(o.isParan())
{
Paran p = new Paran(o.toString());
if(p.isOpen())
{
ops.push(o);
System.out.println(ops);
continue;
}else{
while(!ops.isEmpty()){
if(ops.peek().isParan()){
Paran n = new Paran(o.toString());
if(n.isOpen()){
ops.pop();
break;
}
}
postfix += " " + ops.pop();
}
continue;
}
让它起作用了!我为逻辑区域的括号添加了一些检查,下面是最后的:
public void makePost(String e)
{
String[] arr = e.split("");
for(int i = 0; i < arr.length; i++)
{
System.out.println(postfix + " " + i + " " + ops);
if(arr[i].equals(" "))
{
continue;
}
if(arr[i].equals("(")){
ops.push(new Paran("("));
continue;
}
if(!ops.isEmpty() && arr[i].equals(")")){
while(!ops.isEmpty() && !ops.peek().isOpen()){
postfix += " " + ops.pop();
}
ops.pop();
}
Operator o = OperatorList.getOpMap().get(arr[i]);
if(o == null){
postfix += " " + arr[i];
continue;
}
if(ops.isEmpty()){
ops.push(o);
continue;
}
else
{
while((!ops.isEmpty() && (ops.peek().getPresedence() <= o.getPresedence()) && !(ops.peek() instanceof Paran))){
postfix += " " + ops.pop();
}
ops.push(o);
continue;
}
}
while(!ops.isEmpty())
{
postfix += " " + ops.pop();
}
postfix = postfix.replaceAll("\\s[)]","");
}
我有replaceall()调用,因为输出保留了返回结束括号和corrent后缀,例如:
2 4 * 7 8 4 * 4 4 5 * ) / ) * ) +
我不知道它为什么那样做,但我很高兴它能起作用
我有一个带有GET服务的spring启动应用程序。 的值是一个编码值。 如果我把下面作为值传递给参数子 它无法捕获请求,并且控件不在函数内部。 如果我们作为值传递给参数子: 它很好用。 > 由于服务器无法处理该请求,所以返回400。我需要捕获这些请求,然后通过正确编码来处理它们。前进的道路是什么? 我是新来的Spring启动/Spring和Java本身。如果我能得到一些见解,那就太好了。 另外,我
我使用作为sql选择。现在有了要转换为QueryDSL的本机查询。它由括号中的两个OR语句组成,后跟一个应用于两个OR部分的and和查询。 我需要以下内容: 在querydsl中,我可以编写以下示例:
我将参与一个新项目,其中我们有5000个测试用例/场景。每个场景都有登录、金额转账等后续功能,因此每个场景都有特定的数据。因此,在5000种情况下,我觉得处理数据将非常困难。因为即使登录用户的密码被更改,我也需要在所有场景中从不同的功能文件中更新5000次密码。这与我们旨在减少手动工作量的自动化思想背道而驰。所以我在这里问,是否有人有任何想法/解决方法来处理这种情况,我希望应该有。谢谢
我正在使用AWS Sagemaker部署在Sagemaker之外培训的语音模型。我能够将我的模型转换为Sagemaker能够理解的东西,并将其部署为endpoint。问题是Sagemaker直接加载模型并调用。预测得到推论。我无法确定在部署的模型中可以在何处添加预处理函数。建议使用AWS Lambda或其他服务器进行预处理。有没有什么方法可以将复杂的预处理(不能通过简单的Scikit、类似熊猫的框
在本页和p5的文档中。Perlin noise的输出范围被描述为[0,1],但我发现的所有其他实现都有一个关于0的小范围对称,这似乎也是理论上应该保持的。Processing对柏林噪声的实施情况如何?他们有什么不同之处?比如说,我如何在python中复制这一点?