首页 / JAVA / java-开关中的不可达语句
java-开关中的不可达语句
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-开关中的不可达语句,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3381字,纯文字阅读大概需要5分钟。
内容图文
![java-开关中的不可达语句](/upload/InfoBanner/zyjiaocheng/678/a10d19ed1242404384e403ab92117896.jpg)
因此,我有一个switch语句,它将打开数组中的每个字符串.当遇到运算符时,会将其添加到ArrayList中.但是,由于某种原因,当我编译代码时,它说某些语句“不可到达”.我在下面的代码中用“ //”标记了哪些语句是令人反感的.
提前致谢!
码:
import java.util.*;
import java.io.*;
public class a3
{
public static void main(String[] args) throws FileNotFoundException
{
ArrayList<Token> tokens = new ArrayList<Token>();
String[] readTokens;
Stack<Operator> postStack = new Stack<Operator>();
String filename = "input.infix";
String DELIM = " ";
File in = new File(filename);
Scanner sc = new Scanner(in);
while (sc.hasNextLine())
{
readTokens = sc.nextLine().split(DELIM);
for (String s : readTokens)
{
switch(s)
{
case "(":
tokens.add(new Operator(opType.LPAR));
break;
case ")":
tokens.add(new Operator(opType.RPAR));
break; //unreachable
case "*":
tokens.add(new Operator(opType.MULT));
break; //unreachable
case "/":
tokens.add(new Operator(opType.DIV));
break; //unreachable
case "%":
tokens.add(new Operator(opType.MOD));
break; //unreachable
case "+":
tokens.add(new Operator(opType.ADD));
break; //unreachable
case "-":
tokens.add(new Operator(opType.SUB));
break; //unreachable
//Assuming the expression are valid (according to the
//assignment notes, anything other than operators are
//operands.
//
//NOTE: Even though spaces exist, they will not be
//interpreted as they are the delim
default:
tokens.add(new Operand(Integer.parseInt(s)));
break; //unreachable
}
}
String postfix = infix2postfix(tokens);
int finalResult = evalPostfix(postfix);
System.out.println(postfix + " = " + finalResult);
}
}
public static String infix2postfix(ArrayList<Token> al)
{
return "";
}
public static int evalPostfix(String post)
{
return 0;
}
}
解决方法:
我在代码中添加了缺少的类/接口/枚举声明,并且无法重现该错误.问题显然出在您尚未发布的代码中.
这是适合我的编译方法:
import java.util.*;
import java.io.*;
public class Test
{
public static interface Token
{
}
public static class Operator implements Token
{
public Operator(opType type)
{
}
}
public static enum opType
{
LPAR, RPAR, MULT, DIV, MOD, ADD, SUB
}
public static class Operand implements Token
{
public Operand(int val)
{
}
}
public static void main(String[] args) throws FileNotFoundException
{
ArrayList<Token> tokens = new ArrayList<Token>();
String[] readTokens;
Stack<Operator> postStack = new Stack<Operator>();
String filename = "input.infix";
String DELIM = " ";
File in = new File(filename);
Scanner sc = new Scanner(in);
while (sc.hasNextLine())
{
readTokens = sc.nextLine().split(DELIM);
for (String s : readTokens)
{
switch (s)
{
case "(":
tokens.add(new Operator(opType.LPAR));
break;
case ")":
tokens.add(new Operator(opType.RPAR));
break;
case "*":
tokens.add(new Operator(opType.MULT));
break;
case "/":
tokens.add(new Operator(opType.DIV));
break;
case "%":
tokens.add(new Operator(opType.MOD));
break;
case "+":
tokens.add(new Operator(opType.ADD));
break;
case "-":
tokens.add(new Operator(opType.SUB));
break;
// Assuming the expression are valid (according to the
// assignment notes, anything other than operators are
// operands.
//
// NOTE: Even though spaces exist, they will not be
// interpreted as they are the delim
default:
tokens.add(new Operand(Integer.parseInt(s)));
break;
}
}
String postfix = infix2postfix(tokens);
int finalResult = evalPostfix(postfix);
System.out.println(postfix + " = " + finalResult);
}
}
public static String infix2postfix(ArrayList<Token> al)
{
return "";
}
public static int evalPostfix(String post)
{
return 0;
}
}
内容总结
以上是互联网集市为您收集整理的java-开关中的不可达语句全部内容,希望文章能够帮你解决java-开关中的不可达语句所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。