package Deno1; public class Course { private String cNumber; private String cName; private int cUnit; public Course(String cNumber,String cName,int cUnit){ String number = null; cNumber=number; String name; cName =name; int unit = 0; cUnit =unit; } public void printCourseInfo() { System.out.println("课程号" + cName + "课程名" + cNumber + "学分" + cUnit); } } class CourseTest{ public static void main(String[] args){ Course c; c=new Course("101","ASP",3); c.printCourseInfo(); } }
时间: 2024-02-14 12:25:15 浏览: 43
你的代码中有一些问题。在 Course 类的构造中,你将实例量赋予了局变量,而应该相反。此外,你也没有正确初始化实例变量。以下是修改的代码:
```java class Course {
private cNumber;
private String cName;
private int cUnit;
public Course(String cNumber, String cName, int cUnit) {
this.cNumber = cNumber;
this.cName = cName;
this.cUnit = cUnit;
}
public void printCourseInfo() {
System.out.println("课程号:" + cNumber + "课程名:" + cName + " 学分:" + cUnit);
}
}
CourseTest {
public static void main(String[] args){
Course c;
c = new Course("101", "ASP", 3);
c.printCourseInfo();
}
}
```
现在,当你运行 `CourseTest` 类时,它将输出课程的信息:课程号为 "101",课程名为 "ASP",学分为 3。
相关问题
写个java代码 要求:1 - 1/2 + 2/3 - 3/4 + 4/5 - 5/6 + … 输入一个k,现在请你求出该多项式的前k项的和,结果表示为真分式k<=100,必须使用public class main
以下是使用Java编写的代码,用于计算多项式的前k项和:
```java
public class Main {
public static void main(String[] args) {
int k = 10; // 输入k的值
double sum = 0; // 总和
int sign = -1; // 符号
int deno = 1; // 分母
for (int i = 1; i <= k; i++) {
sign = (-1) * sign; // 每一项的符号都会变
double term = sign * (1.0 / deno); // 当前项的值
sum = sum + term; // 计算全部的值
deno = deno + 1; // 每一次都要将分母加1
}
System.out.println("前" + k + "项的和为:" + sum);
}
}
```
int main() { int sign = 1; double deno = 2.0, sum = 1.0, term; while (deno<=100) { sign = -sign; term = sign / deno; sum = sum + term; deno = deno + 1; } printf("%f\n", sum); return 0;
你的代码看起来是计算一个级数的和,具体是使用一个循环来计算分数的部分,并将其加到总和中。然后,将最终的总和打印出来。
根据你的代码,这个级数是 "1 - 1/2 + 1/3 - 1/4 + 1/5 - ... + 1/100"。
你的代码在逻辑上是正确的,但需要注意两个问题:
1. 在计算 `term` 的时候,你使用了整数除法。为了得到精确的结果,应该将 `sign` 和 `deno` 都转换为浮点数类型,如 `double`。
2. 在打印结果时,建议使用 `%.2f` 格式化输出,以限制小数点后的位数为两位。
以下是修改后的代码:
```c
#include <stdio.h>
int main()
{
int sign = 1;
double deno = 2.0, sum = 1.0, term;
while (deno <= 100)
{
sign = -sign;
term = sign / deno;
sum = sum + term;
deno = deno + 1;
}
printf("%.2f\n", sum);
return 0;
}
```
这样修改后,你应该能够正确计算并打印出该级数的和。
希望这可以帮助到你!如果还有其他问题,请随时提问。