栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

ccf csp 二十四点四则运算Java版

Java 更新时间:发布时间: 百科书网 趣学号

这里写自定义目录标题
  • 题目
    • 解题思路
    • 代码

题目

解题思路

四则运算的方法:从左到右,先乘除后加减。所以可以使用for循环遍历先找出乘除符号计算,然后再找加减符号计算。
首先把24点字符串处理成列表。如:“9+3+3x4” 处理成[9,+,3,+,3,x,4].
之后遍历列表先找出乘除号计算–>[9,+,3,+,12];
然后找出加减号计算–>[12,+,12]–>[24]
最后列表中就剩下最终的计算结果了。

代码
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		int n=input.nextInt();
		for(int j=0;j strs=new ArrayList<>();
			String f="";
			for(int i=0;i n,int v) {
		int con = 0;
		int j=0;
		con=Integer.valueOf(n.get(0));
		if(v==0) {
			for(int i=0;ii+1) {
						j=i+1;
					}
				}
				if(n.get(j).equals("x")){
					n.set(i, String.valueOf(con*Integer.valueOf(n.get(i+2))));
					n.remove(i+1);
					n.remove(i+1);
					return number(n,0);
				}else if(n.get(j).equals("/")){
					n.set(i, String.valueOf(con/Integer.valueOf(n.get(i+2))));
					n.remove(i+1);
					n.remove(i+1);
					return number(n,0);
				}
			}
		}
		for(int i=0;ii+1) {
					j=i+1;
				}
			}
			if(n.get(j).equals("+")){
				n.set(i, String.valueOf(con+Integer.valueOf(n.get(i+2))));
				n.remove(i+1);
				n.remove(i+1);
				return number(n,1);
			}else if(n.get(j).equals("-")){
				n.set(i, String.valueOf(con-Integer.valueOf(n.get(i+2))));
				n.remove(i+1);
				n.remove(i+1);
				return number(n,1);
			}
		}
		return con;
	}
}
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/275237.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号