小编eoi*_*nzy的帖子

C++构造函数的问题

编辑:这个问题出现了,我想我已经开始了!去StackOverflow !! :d

我的考试即将开始,去年考试的一个问题是通过实施以下构造函数来发现问题,并编写一个更正的问题.

Rectangle::Rectangle(string col, int len, int br)
{
    setColour(col);
    length =len;
    breadth=br;
}
Run Code Online (Sandbox Code Playgroud)

类定义如下:

class Polygon
{
public:
    Polygon(string col="red");
    void printDetails(); // prints colour only
    virtual double getArea()=0;
    void setColour(string col);
private:
    string colour;
};


class Rectangle : public Polygon
{
public:
    Rectangle(string, int, int);
    void printDetails(); // prints colour and area
    // for part 3, delete the line below
    double getArea();
private:
    int length;
    int breadth;
};
Run Code Online (Sandbox Code Playgroud)

我已将代码写入编译器,运行正常.我猜这个问题与继承有关,因为它string colour;是私有的,但是setColour是公开的,所以我无法弄明白.除非它Rectangle::Rectangle(string …

c++ constructor

37
推荐指数
5
解决办法
900
查看次数

python - 计算每个数字的出现次数

我有一长串用逗号分隔的数字.我可以搜索和计算大多数数字的出现次数,或者更准确地说是2位数字.

如果我有一个数字序列如下: 1,2,3,4,5,1,6,7,1,8,9,10,11,12,1,1,2 我想计算这个数字1出现的次数我真的应该得到5.

但是,因为它正在计算110,11而且12,我正在得到9.

有谁知道如何使下面的代码只匹配整个"字符串"?

def mostfreq(numString):
    import json 
    maxNum=45
    count=1
    list={}
    while count <= maxNum:
        list[count] = 0
        count+=1
    #numString is the array with all the numbers in it
    count=1
    topTen = ""
    while count <= maxNum:
        list[count]=numString.count(str(count))
        topTen = topTen+json.dumps(
        {count: list[count]},
        sort_keys=True,
        indent=4)+","
        count+=1
    response_generator = ( "["+topTen[:-1]+"]" )
    return HttpResponse(response_generator)
Run Code Online (Sandbox Code Playgroud)

python json

8
推荐指数
1
解决办法
2560
查看次数

在RetroFit中处理来自同一端点的不同JSON响应类型

我需要帮助.

我有一个接受参数的端点.根据此参数,JSON返回的内容将完全不同.

有可能RetroFit处理这个吗?

例如:

http://myserver.com/all/<parameter>
Run Code Online (Sandbox Code Playgroud)

其中参数是BUS或者BICYCLE,以及稍后添加其他参数.

示例BUS请求将返回:

"stops": [{
    "Lat": "....",
    "Lng": "....",
    "Name": "Main Street",
    "Route": "",
    "StopNumber": "2"
}]
Run Code Online (Sandbox Code Playgroud)

BICYCLE端点将返回:

"stops": [{
    "address": "Town Centre",
    "lat": "....",
    "lng": "....",
    "number": "63",
    "open": "1"
}]
Run Code Online (Sandbox Code Playgroud)

根据用户所在的Android应用程序的哪个部分,我想发送一个不同的参数,并能够使用相同的调用来处理它.

我正在考虑使用一个名为AllTypes其他类扩展的父类,然后将我的Retrofit调用签名设置为:

@GET("/all/{type}")
void getAll(@Path("type") String type, Callback<AllTypes> callback);
Run Code Online (Sandbox Code Playgroud)

但我不确定是否Retrofit可以AllTypes根据返回的JSON,甚至传递的参数自动选择正确的子类type.

有谁知道如何做到这一点?如果没有,我将只需要使用不同的Callback类型创建多个不同的方法.

谢谢.

android json retrofit

8
推荐指数
1
解决办法
9495
查看次数

Android创建一个Json String

我正在尝试在Android应用程序中创建一个JSON字符串.

    JSONArray jArrayFacebookData = new JSONArray();
    JSONObject jObjectType = new JSONObject();

    // put elements into the object as a key-value pair
    jObjectType.put("type", "facebook_login");

    jArrayFacebookData.put(jObjectType);

    // 2nd array for user information
    JSONObject jObjectData = new JSONObject();


    // Create Json Object using Facebook Data
    jObjectData.put("facebook_user_id", id);
    jObjectData.put("first_name", first_name);
    jObjectData.put("last_name", last_name);
    jObjectData.put("email", email);
    jObjectData.put("username", username);
    jObjectData.put("birthday", birthday);
    jObjectData.put("gender", gender);
    jObjectData.put("location", place);
    jObjectData.put("display_photo", display_photo_url);

    jArrayFacebookData.put(jObjectData);
Run Code Online (Sandbox Code Playgroud)

这会创建一个像这样的字符串

[
   {
      "type":"facebook_login"
   },
   {
      "birthday":"06\/22\/1986",
      "first_name":"Harsha",
      "username":"harshamv",
      "location":"Bangalore, India",
      "email":"hmv2206@gmail.com",
      "last_name":"Mv",
      "gender":"male",
      "facebook_user_id":"1423671254",
      "display_photo":"http:\/\/graph.facebook.com\/1423671254\/picture?type=large"
   }
]
Run Code Online (Sandbox Code Playgroud)

我想创建一个像这样的JSON字符串 …

android json

7
推荐指数
2
解决办法
2万
查看次数

无法在Samsung android上初始化密钥库

编辑:我现在在非三星KitKat 4.4.3设备(Gigabyte/Zebra TC55)上看到此错误.

我试图KeyStore在我的自定义X509TrustManager类中初始化null .在构造函数中,我执行以下操作:

public EasyX509TrustManager(KeyStore keystore) throws NoSuchAlgorithmException, KeyStoreException, IOException, CertificateException {
    super();
    //keystore.load(null);
    TrustManagerFactory factory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
    factory.init((KeyStore) null); <--- ERROR HERE
    TrustManager[] trustmanagers = factory.getTrustManagers();
    if (trustmanagers.length == 0) {
        throw new NoSuchAlgorithmException("no trust manager found");
    }
    this.standardTrustManager = (X509TrustManager) trustmanagers[0];
}
Run Code Online (Sandbox Code Playgroud)

并获得以下堆栈跟踪:

 java.security.KeyStoreException: initialization failed
    at org.spongycastle.jsse.provider.ProvTrustManagerFactorySpi.engineInit(ProvTrustManagerFactorySpi.java:127)
    at javax.net.ssl.TrustManagerFactory.init(TrustManagerFactory.java:191)
    at my.android.app.http.EasyX509TrustManager.<init>(EasyX509TrustManager.java:51)
    at my.android.app.http.EasySSLSocketFactory.createEasySSLContext(EasySSLSocketFactory.java:53)
    at my.android.app.http.EasySSLSocketFactory.getSSLContext(EasySSLSocketFactory.java:83)
    at my.android.app.http.EasySSLSocketFactory.createSocket(EasySSLSocketFactory.java:133)
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:165)
    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:670)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:509)
    at …
Run Code Online (Sandbox Code Playgroud)

android bouncycastle samsung-mobile spongycastle

7
推荐指数
1
解决办法
368
查看次数

Android KitKat 不支持 TLSv1.2

我正在旧设备上测试我的应用程序,因为我们的目标是发展中市场,并希望用户拥有旧的、棒棒糖之前的设备。

我使用RetroFit (2.6.4)OkHttp (3.12.4)与托管在 Amazon 上的 REST 服务器进行通信。AWS 支持 TLS 1.0、1.1 和 1.2,但我们在NodeJS服务器中将其锁定为 TLSv1.2。

该应用程序适用于新设备,但我在 KitKat 上收到以下错误:

<-- HTTP FAILED: java.net.UnknownServiceException: Unable to find acceptable protocols. isFallback=false, modes=[ConnectionSpec(cipherSuites=[TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, TLS_AES_128_CCM_SHA256, TLS_AES_256_CCM_8_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256], tlsVersions=[TLS_1_3, TLS_1_2], supportsTlsExtensions=true)], supported protocols=[SSLv3, TLSv1, TLSv1.2]
Run Code Online (Sandbox Code Playgroud)

如果您查看该错误消息的末尾,它会显示:

, tlsVersions=[TLS_1_3, TLS_1_2], supportsTlsExtensions=true)], supported protocols=[SSLv3, TLSv1, TLSv1.2]
Run Code Online (Sandbox Code Playgroud)

所以我认为我有正确的代码来启用 TLSv1.2,但我没有正确使用它,并且 OKHttp 正在尝试使用 SSLv3 或 TLS1 而不是 TLSv1.2。

另外,我刚刚在 SSLLabs 上检查了我们的服务器,它支持以下 TLSv1.2 密码套件:

# TLS 1.2 (suites in server-preferred …
Run Code Online (Sandbox Code Playgroud)

android okhttp tls1.2 retrofit2

6
推荐指数
1
解决办法
2595
查看次数

使用XML和XSD创建填充的数据库

我不确定这是否可行,但想到我会问,看看我是否可以得到任何信息.

正如标题所示,我有一个包含数千行的XML文件.我还有它关联的XSD架构文件.

我想知道,我是否可以将这些数据转换为MySQL数据库而无需手动指定XPath内容?

例如,Java或Python或其他任何程序是否可以分析XML结构,基于XSD,提取表列,并用数据填充它?

我尝试使用PHPMyAdmin导入我的XML文件,但它没有工作,并说有一个问题,我认为这与它无法创建列的事实有关.据我所知,它可以更好地处理CSV文件,因此这是2阶段转换的另一种选择.

谢谢.

xml mysql database csv xsd

5
推荐指数
1
解决办法
1万
查看次数

Android - progressdialog不在AsyncTask中显示

我有一个Android应用程序,我遇到了麻烦.

基本上根本ProgressDialog没有显示.我认为这是某种线程问题,但我不知道如何解决它.

ActionBarSherlock和一些人一起使用Fragments.我也在使用新的Android DrawerLayout,我在抽屉上有我的选项,点击时替换片段.

在第一次加载我的应用程序时,我想检查数据库以查看是否已下载初始数据.如果没有,那么我就开始AsyncTask下载数据.这个应该ProgressDialog在这期间有一个 显示,但它没有.

有人能看到我错在哪里吗?谢谢.

MainScreen - 应用程序打开时的默认登录页面/片段

public class MainScreen extends SherlockFragment {
    public static final String TAG = "MainScreen";

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.activity_main, container, false);
        setHasOptionsMenu(false);

        ImageView imgLogo = (ImageView) rootView.findViewById(R.id.imgMainScreen);
        imgLogo.setOnClickListener(new ButtonHandler(getActivity()));

        checkDatabase();
        return rootView;
    }

    private void checkDatabase() {
        //Ensure there is data in the database
        DBHelper db = new DBHelper(this.getSherlockActivity());
        db.checkDatabase();
    } …
Run Code Online (Sandbox Code Playgroud)

multithreading android progressdialog android-asynctask

4
推荐指数
1
解决办法
2835
查看次数

没有调用子类抽象方法

我会发布一些代码然后问我的问题,因为我认为它需要一些解释.所以这是我的超类的基本表示:

public abstract class ModeOfTransport {
    public abstract void updateView(String name);
}
Run Code Online (Sandbox Code Playgroud)

以下是我的子类的一些示例:

public class Bus extends ModeOfTransport {
    @Override
    public void updateView(String stopName) {
        System.out.println("BUS");
    }
}

public class Train extends ModeOfTransport {
    @Override
    public void updateView(String stopName) {
        System.out.println("TRAIN");
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个switch意图是能够决定updateView()调用哪个版本:

switch(transportType) {
    case BUS:
        handleInfo(new Bus());
        break;
    case TRAIN:
        handleInfo(new Train());
        break;
    default:
        break;
}

private void handleInfo(ModeOfTransport transportType) {
    transportType.updateView(name);
}
Run Code Online (Sandbox Code Playgroud)

我的目标是打印出TRAIN或者BUS.目前,它什么都没打印!我猜是因为它在父类中调用抽象方法,它没有主体.

谁能为我解释这个问题?

此外,作为一个附带问题,这是否属于polymorphisminheritance …

java polymorphism subclass superclass

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

python - urls.py正则表达式帮助坐标

我试过搜索但找不到答案.

我正在尝试编写一个接收坐标的函数,即纬度和经度.例如,53.345633,-6.267014.

然后,这些将作为用户当前位置以及到附近某些地方的指示(我已将这些位置存储在某处)提供给Google Maps API,并且希望返回指示.

所以,我几乎完成了所有的地图工作,但我无法测试它,因为令人沮丧的是,我根本无法弄清楚内部的正则表达式urls.py.

谁能帮我这个?我希望对你们这么简单.我早些尝试过,但失败了!这太令人沮丧因为我太接近完成这部分了!!

谢谢您的帮助!

PS是否可以使用逗号来设置坐标格式?也许53.345633+-6.267014会更好(然后我可以使用my_coords = coords.replace("+", ", ")或者什么)?

python regex gps django-urls coordinates

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

python - 如何解析HTML表

我有一个HTML页面,上面有大约50个表格.每个表具有相同的布局,但具有不同的值,例如:

<table align="right" class="customTableClass">
<tr align="center">
<td width="25" height="25" class="usernum">value1</td>
<td width="25" height="25" class="usernum">value2</td>
<td width="25" height="25" class="usernum">value3</td>
<td width="25" height="25" class="usernum">value4</td>
<td width="25" height="25" class="usernum">value5</td>
<td width="25" height="25" class="usernum">value6</td>
<td width="25" height="25" class="totalnum">otherVal</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我的REST服务器正在运行django/python所以urls.py我在调用我的def parse_url():函数显然我想要完成所有的工作.我的问题是,当涉及到python时,我几乎是一个新手,所以字面意思就是不知道我的代码放在哪里.我从HTMLParserpython文档中获得了一些代码,并将其更改如下:

import urllib, urllib2
from django.http import HttpResponse
from HTMLParser import HTMLParser

    class MyHTMLParser(HTMLParser):
        def handle_starttag(self, tag, attrs):
            print "Encountered the beginning of a %s tag" % tag

        def handle_endtag(self, tag):
            print "Encountered …
Run Code Online (Sandbox Code Playgroud)

python django rest parsing

2
推荐指数
2
解决办法
3621
查看次数