当前位置: 首页 > 知识库问答 >
问题:

如何从java中的字符串输入中提取正整数和负整数,其输入模式如下所示?

韦智刚
2023-03-14

输入模式(第一种情况):4x²-8x 6(或4x^2-8x 6)

输入模式(第二种情况):3x-8y=2

第一种情况:例如,如果用户输入一个字符串,如4x²-8x 6(或4x^2-8x 6),则输出应包含从字符串中提取的所有正整数和负整数,并应存储在一个数组中,以便在程序中进一步使用,即输出应为

4个

2//(²或^2检查它是否是二次方程,如果它不是2,而是3或//其他,程序应该在这里终止。)

-8

6.

第二种情况(另一个程序):如果用户输入一个字符串,如3x-8y=2。输出应该是

3个

-8

2个

并存储在一个数组中,以便可以在程序中进一步访问它们。

任何帮助都会对我大有裨益。

import java.util.*;
public class ss
{
 public void dd()
 {
  Scanner sc=new Scanner(System.in);
  String input=sc.nextLine();
  double a=sc.nextDouble(); //Accepts numerical coefficient of x² in the 
                           //quadratic form of ax²+bx+c
  double b=sc.nextDouble(); //Accepts numerical coefficient of x in the 
                           //quadratic form of ax²+bx+c
  double c=sc.nextDouble(); //Accepts constant c in the 
                           //quadratic form of ax²+bx+c
  double discriminant=(Math.pow(b,2))-(4*a*c);
  double firstroot= -b+Math.sqrt(discriminant)/(2*a);
  double secondroot= -b-Math.sqrt(discriminant)/(2*a);
  System.out.println("Roots Of The Equation Are: "+first root+" and "+secondroot);
 }
}

我希望上面的代码工作,而不需要从用户的系数和常量的每个值,通过从用户输入的一个字符串中以二次方程的形式提取所有系数(无论是正的还是负的)。

共有1个答案

丌官坚秉
2023-03-14

看起来你在寻找正则表达式模式。这里有一个非常基本的模式:https://regex101.com/r/9OxhhA/1.这不处理逗号或指数,并且可能在许多边缘情况下失败。

如果您正在寻找如何在Java中实现这一点,则需要一个模式和匹配器

相关:正则表达式模式匹配字符串中的正数和负数值

 类似资料:
  • 问题内容: 如何仅从输入字符串中提取数字值? 例如,输入字符串可能像这样: 我只想要数字值,即和。所有字母和特殊字符将被丢弃。 问题答案:

  • 问题内容: System.out.print(“Name : “); String name = in.nextLine(); 输出将是: 名称:测试 年龄:20 建立成功 当我调试它们时,它不会读取“ city”的用户输入。但是,当我将“年龄”的数据类型更改为字符串时,它将读取。我如何在读取城市用户输入的系统中将age的数据类型保持为整型? 问题答案: 读取年龄后,由于缓冲区中仍然有换行符,请将

  • 我只想要数值,即和。所有的字母和特殊字符将被丢弃。

  • 我在java中有这段代码,代码工作得很好 你对这个问题有什么解决办法吗??? 谢谢

  • 我试图获取代码,以防止用户输入中包含数字。 基本上,我希望代码如下所示: 请求输入 关键是(为什么这不是一个重复的问题):我不能使用循环或其他我们还没有学会的语句。到目前为止,我们所学的唯一真正的语句是if/else/else if语句。这意味着我不能像一些答案所建议的那样使用for循环。虽然它们是很好的答案,而且很有效,但我会因为使用它们而失分。 我已经有了这个,但我不知道如何测试输入是否只包含

  • 问题内容: 如何从Java中的标准输入读取整数值 问题答案: 你可以使用(API):