L1-025 正整数A+B - java

题目解析

给定一行字符串 判断是否为合法的 正整数[1,1000] 的加法

解题思路

  • 前面一个字符串记作正整数A

  • 后面所有字符串记作正整数B

分别求这两个是否为 [1,1000][1,1000]的正整数

如果这两个字符串中出现了不属于数字字符 或者 都是合法数字字符但是整个数字不属于[1,1000][1,1000] 就是 ?

代码

import java.io.*;
import java.util.*;

public class Main
{
	static int toint(String str)
	{
		char s[] = str.toCharArray();

		if (s[0] == '-')
			return -1;

		int x = 0;
		for (int i = 0; i < s.length; i++)
		{
			if (s[i] == '.')
				return -1;

			x = x * 10 + s[i] - '0';
		}

		if (x > 1000 || x < 1)
			return -1;

		return x;
	}

	public static void main(String[] args)
	{
		String a = sc.next();
		String b = sc.nextLine().substring(1);

		int A = toint(a);
		if (A == -1)
			out.print("? + ");
		else
			out.print(A + " + ");

		int B = toint(b);
		if (B == -1)
			out.print("? = ");
		else
			out.print(B + " = ");

		if (A == -1 || B == -1)
			out.print("?");
		else
			out.print(A + B);

		out.flush();
		out.close();
	}

	static Scanner sc = new Scanner(System.in);
	static PrintWriter out = new PrintWriter(System.out);
}

团体程序设计天梯赛-练习集-java

赞赏