急! 求c语言和java大神来解一下题

作者&投稿:呈狭 (若有异议请与网页底部的电邮联系)
急! 求c语言和java大神来解一下题~

说一下java的
用while循环控制反复练习
用try catch 进行容错处理
在对方输入答案前 就用变量储存正确结果 然后进行比对
大概思路就是这样

手头没有myeplisce 所以写个大概 请见谅 可能有语法错误
scanner实例化没有写 还有syso就是system.out.ptint的意思
int foo=1;
while(foo==1){
try{
syso(“请输入数字1”)
int a=input.
syso(“请输入数字2”)
int b=input
syso(“请输入运算符 1:+ 2: - .....”)
int c=input

int d=0;
switch(c){
case 1:

d=a+b;

break;
..............

}
syso(“请输入您的答案”)
int e=input
if(e==d){
正确
}else{
错误
}
}catch{
请输入数字
}finally{
syso(是否继续? 1:yes 0:no)
foo=input
}
}

在你的 调用函数中 把*s改为了k的地址 即 main函数中的*r为k的地址,则p也为*r的地址 *p输出即为k值 不知道能不能帮到你

按照你的要求编写的Java语言图形界面程序如下:

import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class B extends JFrame implements ActionListener{
 JLabel jlTitle=new JLabel();
 JLabel jl=new JLabel("");
 JLabel jlcorrect=new JLabel();
 JTextField jtf=new JTextField(3);
 JButton jb1=new JButton("上一题");
 JButton jb2=new JButton("下一题");
 JButton jb3=new JButton("交卷");
 JPanel jp1=new JPanel();
 JPanel jp2=new JPanel();
 JPanel jp3=new JPanel();
 int max=12;
 String[] question=new String[max];
 int[] answer=new int[max];
 String[] studentAnswer=new String[max];
 boolean[]correct=new boolean[max];
 int count=1;
 boolean submitFlag=false;
 B(){
  super("小学算术测试");
  jlTitle.setFont(new Font(null,Font.PLAIN,20));
  jl.setFont(new Font(null,Font.PLAIN,20));
  jlcorrect.setFont(new Font(null,Font.PLAIN,20));
  jtf.setFont(new Font(null,Font.PLAIN,20));
  for(int i=0;i<max;i++){
   String s=randomQuestion(100);
   question[i]=s.substring(0,s.indexOf("=")+1);
   answer[i]=Integer.parseInt(s.substring(s.indexOf("=")+1));
  }
  jlTitle.setText("第"+count+"题");
  jl.setText(question[0]);
  jlcorrect.setText("");
  jb1.addActionListener(this);
  jb2.addActionListener(this);
  jb3.addActionListener(this);
  jp1.add(jlTitle);jp1.add(jb3);
  jp2.add(jl);jp2.add(jtf);jp2.add(jlcorrect);
  jp3.add(jb1);jp3.add(jb2);
  add(jp1,BorderLayout.NORTH);
  add(jp2,BorderLayout.CENTER);
  add(jp3,BorderLayout.SOUTH);
  setSize(300, 160);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setLocationRelativeTo(null);
  setVisible(true);
 }
 @Override
 public void actionPerformed(ActionEvent ae) {
  if(ae.getSource()==jb1){
   if(submitFlag==false){
    try{
     int tempanswer=Integer.parseInt(jtf.getText().trim());
     studentAnswer[count-1]=jtf.getText().trim();
     if(count==1)count=max;
     else count--;
     jlTitle.setText("第"+count+"题");
     jl.setText(question[count-1]);
     jtf.setText("");
     if(studentAnswer[count-1]==null||studentAnswer[count-1].equals("")){
     }else{
      jtf.setText(studentAnswer[count-1]);
     }
    }catch(NumberFormatException nfe){
     JOptionPane.showMessageDialog(this, "请输入正整数!");
     jtf.requestFocus();
    }
   }else{
    if(count==1)count=max;
    else count--;
    jlTitle.setText("第"+count+"题");
    jl.setText(question[count-1]);
    jtf.setEnabled(false);
    jtf.setText(studentAnswer[count-1]);
    if(correct[count-1]==true)
     jlcorrect.setText("√");
    else
     jlcorrect.setText("×");
   }
  }
  if(ae.getSource()==jb2){
   if(submitFlag==false){
    try{
     int tempanswer=Integer.parseInt(jtf.getText().trim());
     studentAnswer[count-1]=jtf.getText().trim();
     if(count==max)count=1;
     else count++;
     jlTitle.setText("第"+count+"题");
     jl.setText(question[count-1]);
     jtf.setText("");
     if(studentAnswer[count-1]==null||studentAnswer[count-1].equals("")){
     }else{
      jtf.setText(studentAnswer[count-1]);
     }
    }catch(NumberFormatException nfe){
     JOptionPane.showMessageDialog(this, "请输入正整数!");
     jtf.requestFocus();
    }
   }else{
    if(count==max)count=1;
    else count++;
    jlTitle.setText("第"+count+"题");
    jl.setText(question[count-1]);
    jtf.setEnabled(false);
    jtf.setText(studentAnswer[count-1]);
    if(correct[count-1]==true)
     jlcorrect.setText("√");
    else
     jlcorrect.setText("×");
   }
  }
  if(ae.getSource()==jb3){
   try{
    int tempanswer=Integer.parseInt(jtf.getText().trim());
    studentAnswer[count-1]=jtf.getText().trim();
    for(int i=0;i<max;i++){
     if(studentAnswer[i]==null||studentAnswer[i].equals("")){
      correct[i]=false;
     }else if(Integer.parseInt(studentAnswer[i])==answer[i]){
      correct[i]=true;
     }else{
      correct[i]=false;
     }
    }
    int correctAnswer=0;
    for(int i=0;i<max;i++){
     if(correct[i]==true){
      correctAnswer++;
     }
    }
    String s="共"+max+"道题
";
    s=s+"答对"+correctAnswer+"道题
";
    s=s+"答错"+(max-correctAnswer)+"道题
";
    s=s+"成绩"+String.format("%.2f",(100*(float)correctAnswer/max))+"分
";
    JOptionPane.showMessageDialog(this, s);
    submitFlag=true;
    jtf.setEnabled(false);
    jtf.setText(studentAnswer[count-1]);
    if(correct[count-1]==true)
     jlcorrect.setText("√");
    else
     jlcorrect.setText("×");
   }catch(NumberFormatException nfe){
    JOptionPane.showMessageDialog(this, "请输入正整数!");
    jtf.requestFocus();
   }
  }
 }
 public static void main(String[] args) {
  new B();
 }
 private String randomQuestion(int MAX) {
  String s="";
  int answer=MAX+1;
  while(answer>MAX||answer<0){
   int a=(int)(Math.random()*100+1);
   int b=(int)(Math.random()*100+1);
   int c=(int)(Math.random()*4+1);
   switch(c){
    case 1:answer=a+b;break;
    case 2:answer=a-b;break;
    case 3:answer=a*b;break;
    case 4:
     if(a%b==0){
      answer=a/b;
     }
     break;
   }
   if(answer<=MAX&&answer>=0){
    s=s+a;
    switch(c){
     case 1:s=s+"+";break;
     case 2:s=s+"-";break;
     case 3:s=s+"*";break;
     case 4:s=s+"/";break;
    }
    s=s+b+"="+answer;
   }
  }
  return s;
 }
}

运行结果:

交卷后判对错的状态



本人认为应该先学c,再学Java。因为Java是相对于c语言来说是对c语言的更进一步的发展。你只有先学会了c语言,在学Java才会融会贯通。因为c语言是大家最熟悉不过的语言,所以的大学要教计算机语言都是先教c语言,可以说c语言是其他语言的基础,c++和Java是对它的丰富和发展。我推荐你一本电子档,你可以看看什么是c语言

这个估计要给钱吧,不然应该没人给你做吧,可私聊


广元市15043466734: 急! 求c语言和java大神来解一下题 -
费林止咳: 说一下java的用while循环控制反复练习用try catch 进行容错处理在对方输入答案前 就用变量储存正确结果 然后进行比对大概思路就是这样手头没有myeplisce 所以写个大概 请见谅 可能有语法错误 scanner实例化没有写 还有syso就是system.out....

广元市15043466734: JAVA和C语言,哪个好,从入门角度和以后的可学性考虑.求大神解答,新手绕道
费林止咳: C语言比较靠底层,没有一定的语言基础,会比较难学难懂;Java语言还是相对好学多了,不管你的基础如何;程序语言都是相通的,所以尽量从简单的着手,等你积累相当的学识之后,再学比较难的,这样效果会比较好 !

广元市15043466734: 谁能详细的解说一下C语言和java语言吗?
费林止咳: C语言主要是面向过程的.而java面向对象的. java中封装了很多包,要调用的时候直接导入包,并且new出一个对象即可,和C++优点类似. 语言的发展现有了面向过程,才有了更加高级的语言面向对象. 所以C语言是学习其他语言的基础. C语言的数据结构,数据类型,在其他的语言中都有体现,只是体现的方式可能不一样. 所以要想学习C++或者java必去先把C语言搞懂. 如果还有不明白的,可以追问.

广元市15043466734: C语言和Java有什么区别?(我是新手请高手指点)
费林止咳: java更简单,摒弃了c/c++中许多长复杂的内容: 1.全局变量:全局变量封装在类中,更加安全. 2.条件转移指令:java没有goto语句,提高了程序的可读性. 3.指针:java中没有指针,数组主要通过类来实现. 4.内存管理:java中有自动垃圾回收机制,避免了系统崩溃. 5.数据的一致性:数据类型分配固定长度,有平台无关性和可移植性. 6.类型转换:转换时进行严格的相容性检查. 7.头文件:改用更先进的包来管理 8.java不支持编译预处理和结构体,共用体类型 9.java用接口来解决多重继承所衍生的问题. 10.java提供了许多类异常处理,面向对象程序设计. 希望对你有所帮助,谢谢!

广元市15043466734: 求大哥解答 c语言和java那个更好学 自己想从事一些网站和软件开发之类的工作?? -
费林止咳: 当然是JAVA,C语言语法简单、精炼,但博大精深,是系统编程首选语言,但要学的东西太多太杂; 学C ,和硬件底层打交道,所以基本上还要再学 汇编语言、计算机原理、数据结构、算法 电子电路、操作系统原理、数据库、编译原理等等计...

广元市15043466734: C语言和Java,这两个有什么区别呢? -
费林止咳: Java和C语言作为现在行业中经常被人提起的两种语言,有很大的区别.选择不同的语言学习以后的发展也会大不相同,那么Java和C语言有什么区别呢?现在学哪种语言更合适呢?从概念上看,C语言是一门面向过程、抽象化的通用程序设计...

广元市15043466734: 求懂得JAVA的C语言区别的大神来这里 -
费林止咳: c 是面向过程语言,java 是面向对象语言. JAVA不会更灵活更具备可移植性咩? 所谓移植性就是跨平台而已,C语言诞生的早,java其实可以算是对C的挑战,对于他的移植性褒贬不一. 2.为什么单片机不用JAVA,或者说为什么C语言的单片...

广元市15043466734: C语言 和 JAVA 语言的 区别是什么 两者 -
费林止咳: 相同的地方: 1、语法类似: 由于Java可以算是从C 发展而来的,因此Java与C语言的语法比较类似 2、编程的熟练程度就是对语言程序库的掌握程度: 从某种程度上来说,编程语言都是由语法和相应的程序库所构成,Java有自身的类库,C语...

广元市15043466734: C语言和java语言的区别和联系? -
费林止咳: 各种编程语言既相互区别,又相互联系,一般来说,编程的话都是从c语言学起,然后再学习其他语言如c++,java,c#等的时候就会比较好理解了.

广元市15043466734: C语言与Java语言的差别?详细点! -
费林止咳: C语言是面向过程的语言,而JAVA是面向对象的语言.java相对于c语言而言,去掉了指针等容易出错的功能,具体如下: Java没有预处理命令.Java用static final来取代C中的常量定义.Java没有全局变量.Java基本数据类型的size是确定的,而C...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网