小编joh*_*902的帖子

初始化指向int数组的指针

我再一次使用C++,并注意到在类成员方法内或main()函数内部声明为指针时数组初始化的奇怪行为.

int * p = new int[20];
Run Code Online (Sandbox Code Playgroud)

我期望发生的是,指针将保持未初始化的随机值,就像它们一样

int arr[20];
Run Code Online (Sandbox Code Playgroud)

但相反,他们都归零了.到底是怎么回事?

c++ arrays int pointers initialization

0
推荐指数
1
解决办法
151
查看次数

将Person对象转换为给出类强制转换异常的字符串

我已经创建了一个Person对象,它实现了Serializable接口,它在构造函数中包含fname,lname,phone,address,并且我将这个类的对象存储在".dat"文件中,我希望显示这些联系人在GUI上,所以当我尝试将人物转换为字符串时,它会给出ClassCastException,如果有人会帮助我,我将感激不尽.

这是一个构造函数:

public Person(String fName, String lName, String add, String ph) {
    //super();
    this.fName = fName;
    this.lName = lName;
    this.add = add;
    this.ph = ph;
}  
Run Code Online (Sandbox Code Playgroud)

这是GUI类代码:

public void windowOpened(WindowEvent e) {

    FileInputStream fis;
    ObjectInputStream ois;

    try {
        fis = new FileInputStream("person.dat");
        ois = new ObjectInputStream(fis);
        Person p = (Person) ois.readObject();
        String obj = (String) p.toString(); // giving error at this line
        StringTokenizer str = new StringTokenizer(obj, " ");

        textField.setText(str.nextToken());
        textField_3.setText(str.nextToken());
        textArea.setText(str.nextToken());
        // System.out.println(p);
        ois.close();
        fis.close();
    } catch (Exception ee) …
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
140
查看次数

c ++"cout << number"结果在屏幕上打印"number%"

我有一个奇怪的问题,简单的程序,fe

main()
{
    int i=1;
    std::cout << i;
}
Run Code Online (Sandbox Code Playgroud)

结果用

1% 
Run Code Online (Sandbox Code Playgroud)

在屏幕上.我无法摆脱那个"%".有谁知道发生了什么?我在Arch Linux上使用g ++(GCC)4.8.0 20130502.

c++ int cout

-2
推荐指数
1
解决办法
98
查看次数

使用递归查找数组的最大元素

我的代码是这将使用递归从数组中找到最大数字,但它找不到最大的数字

#include <stdio.h>

int maximum(int ar[], int n)
{

    if (n == 1) {
        return ar[0];

    } else {
        int max = maximum(ar, n-1);
        printf("Largest element : %d\n", max);
        return 5; // return ar[n-1] > max ? ar[n-1] : max;
    }
}

int main()
{
    int array[5] = {5, 23, 28, 7, 1};
    printf("Maximum element of the array is: %d", maximum(array, 5));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

-3
推荐指数
1
解决办法
3929
查看次数

标签 统计

c++ ×2

int ×2

arrays ×1

c ×1

cout ×1

initialization ×1

java ×1

pointers ×1