「java能进行数学计算吗」java要学数学吗
本篇文章给大家谈谈java能进行数学计算吗,以及java要学数学吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、JAVA里内容是纯数字的字符串String或字符char可不可以和数做数学运算啊。。 。 如果不能
- 2、Java怎样实现数学问题的计算?
- 3、想问java能不能用来学习算法,我没学C++
- 4、java如何计算比较复杂的数学计算,比如有括号同时有+-*/,顺序不一定,就是一个运算公式
- 5、利用Java编程实现要求的数学运算
JAVA里内容是纯数字的字符串String或字符char可不可以和数做数学运算啊。。 。 如果不能
不可以运算啊 你得弄成整型啊
比如 String str = "123";
你想把2拿出来参与数学运算的话 可以这样 char c = str.charAt(1); int d = c-'0'; d救赎数字2了、
如果是char类型的话 比如 char c = '6';你想把6本身这个值进行数学运算,可以这样
int d = c -'0';相当于 int d = '6' -'0';这样 d 就是整型的数字6
Java怎样实现数学问题的计算?
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.SwingConstants;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Font;
import java.awt.SystemColor;
public class Test extends JFrame {
private JPanel contentPane;
private JTextField headField;
private JTextField footField;
private JLabel result;
public static void main(String[] args) {
Test frame = new Test();
frame.setVisible(true);
}
public Test() {
setTitle("鸡兔同笼问题");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 400, 200);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel label = new JLabel("请输入头的数量:");
label.setBounds(10, 32, 112, 15);
contentPane.add(label);
headField = new JTextField();
headField.setBounds(132, 29, 112, 21);
contentPane.add(headField);
headField.setColumns(10);
JLabel label_1 = new JLabel("请输入脚的数量:");
label_1.setBounds(10, 74, 112, 15);
contentPane.add(label_1);
footField = new JTextField();
footField.setBounds(132, 71, 112, 21);
contentPane.add(footField);
footField.setColumns(10);
JButton cal = new JButton("计算");
cal.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int head = Integer.parseInt(headField.getText());
int foot = Integer.parseInt(footField.getText());
int rabitNum = (foot - head * 2) / 2;
int roosterNum = head - rabitNum;
result.setText("兔子有" + rabitNum + "只,鸡有" + roosterNum + "只");
}
});
cal.setBounds(281, 28, 93, 61);
contentPane.add(cal);
result = new JLabel("兔子有0只,鸡有0只");
result.setForeground(SystemColor.textHighlight);
result.setHorizontalAlignment(SwingConstants.RIGHT);
result.setBounds(10, 117, 364, 15);
contentPane.add(result);
JLabel lblNewLabel = new JLabel("公式:(总脚数-总头数*鸡的脚数)÷(兔的脚数-鸡的脚数)=兔的只数");
lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 12));
lblNewLabel.setBounds(10, 137, 364, 15);
contentPane.add(lblNewLabel);
this.setLocationRelativeTo(null);
}
}
想问java能不能用来学习算法,我没学C++
算法是所有程序的灵魂,你用编程来解决一个问题就是,想好怎么编程了,这个怎么编就是你的算法,算法分好坏。学习算法其实就是学习高手的程序是怎么编的,有些功能一般人编程可能要100句程序,高手可能30句搞定了。算法的好坏决定了程序运行的快慢以及出现的bug的概率,程序占用内存的空间,程序运行时候需要的内存空间等等。
总之,你学任何编程语言,学习的过程,各个例题都同时在学算法。算法就是实现一个目的方法,而编程语言是工具,你学会了方法就能用不同的工具来实现你的目的。
也就是说你学会了算法, 然后学会了不同的编程语言,你都可以用相同的算法不同的编程语言来实现你的目的。
补充:编程语言理论上可以实现大多数,但是每门语言都有各自的优势和缺点,所以在不同的领域不同的目的就用到不同的语言。但作为一个初学者,建议开始学一般工程师都用到的语言,相当于跟你说你想去国外先学个英语,英语学好了学其他的德语法语就比较容易了。因为,首先你学习英语的过程当中总结了一些学习语言的经验,然后你学的第一门外语和可能和其他一些外语有相似之处,还有你用心学的话你会知道如何找语伴,那么你学其他语言你也知道如何找语伴。
举个通俗易懂的c/c++的简单例子:
//计算 1+2+3+4+5+...+10
int main()
{
int result;
result =1+2+3+4+5+6+7+8+9+10;
return 0;
}
上面是最蠢的方式计算1到10相加,但上面也是一个算法。
下面就是优化好后的算法,因为如果你要从1+2+3+....1000很明显只要把下面的程序里面的10改成1000就行了。这是一个很简单的算法解决简单的问题。
int main()
{
int result=0;
int i;
for(i=1;i=10;i++)
{ result = result +i;
}
return 0;
}
还有,算法不只是数学计算,还涉及到逻辑计算,还有很多不是数学的,比如手机app里面有的应用做的某些用户体验不太好,比如反应慢(不一定是网络问题),可能就是算法不够好导致的。
以上。
java如何计算比较复杂的数学计算,比如有括号同时有+-*/,顺序不一定,就是一个运算公式
可以用编译原理的思想来理解,主要用到数据结构里面的栈和队列。
利用栈的后进先出以及运算符号(+-*/(){} )优先级,对运算符号进行匹配。
分两个栈,一个是符号栈,一个是数字栈。
栈的每一次pop出一个字符,要进行校验,如果匹配(符合运算规则)则计算,并保存结果到数据栈。
利用Java编程实现要求的数学运算
package javaapplication1;
import java.util.Scanner;
public class testComplex {
public static void main(String[] args){
double x1=0,y1=0,x2=0,y2=0;
double b1=0,b2=0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入复数C1的实部和虚部:");
x1 = sc.nextDouble();
y1 = sc.nextDouble();
System.out.println("请输入复数C2的实部和虚部:");
x2 = sc.nextDouble();
y2 = sc.nextDouble();
Complex C1=new Complex(x1,y1);
Complex C2=new Complex(x2,y2);
Complex C3=C1.add(C2);//C1+C2
Complex C4=C2.sub(C1);//C1-C2
b1=C3.imagPart;
b2=C4.imagPart;
if(y1=0)
System.out.println("复数C1:"+x1+"+"+y1+"i");
else
System.out.println("复数C1:"+x1+y1+"i");
if(y2=0)
System.out.println("复数C2:"+x2+"+"+y2+"i");
else
System.out.println("复数C2:"+x2+y2+"i");
if(b1=0)
{ System.out.println("复数C1+C2:"+(x1+x2)+"+"+(y1+y2)+"i");//直接运算
System.out.println("复数C1+C2:"+C3.realPart+"+"+C3.imagPart+"i");//调用函数
}
else
{ System.out.println("复数C1+C2:"+(x1+x2)+(y1+y2)+"i");//直接运算
System.out.println("复数C1+C2:"+C3.realPart+C3.imagPart+"i");//调用函数
}
if(b2=0)
{ System.out.println("复数C1-C2:"+(x1-x2)+"+"+(y1-y2)+"i");//直接运算
System.out.println("复数C1-C2:"+C4.realPart+"+"+C4.imagPart+"i");//调用函数
}
else
{
System.out.println("复数C1-C2:"+(x1-x2)+(y1-y2)+"i");//直接运算
System.out.println("复数C1-C2:"+C4.realPart+C4.imagPart+"i");//调用函数
}
}
}
class Complex//描述复数
{
public double realPart=0;//表示复数的实部
public double imagPart=0;//表示复数的虚部
public Complex(double real,double image)//定义构造函数
{
realPart=real;
imagPart=image;
}
Complex add(Complex fushu)//实现当前复数和参数复数fushu的加法
{
return new Complex(fushu.realPart+realPart,fushu.imagPart+imagPart);
}
Complex sub(Complex fushu)//实现当前复数和参数复数fushu的减法
{
return new Complex(fushu.realPart-realPart,fushu.imagPart-imagPart);
}
}
//方法很简单,就是控制虚部是符号很麻烦,顺便也把C1、C2也输出来了
java能进行数学计算吗的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java要学数学吗、java能进行数学计算吗的信息别忘了在本站进行查找喔。
发布于:2022-12-01,除非注明,否则均为
原创文章,转载请注明出处。